MyBatis简介
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
为了更方便的连接数据库,将mybatis配置到springMVC中
1). 首先是jar包 多了3个jar druid 这个是阿里的数据库连接包 mybatis和 mybatis-spring
2) 然后是项目目录
3)在web.xml中 加上一个spring的配置文件
<context-param></context-param>元素含有一对参数名和参数值,用作应用的servlet上下文初始化参数。参数名在整个Web应用中必须是惟一的。设定web应用的环境参数(context)
4)
spring-mvc的内容不变,spring-mybatis中的内容如下
<!-- MyBatis配置 这个就是spring和mybatis的整合 也就是spring-mybatis jar--> <bean id="mysqlSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--数据库 多数据源配置多个--> <property name="dataSource" ref="mysqlDataSource" /> <!-- 自动扫描mapping.xml文件 --> <!-- 自动扫描entity目录, 省掉xml里的手工配置 该属性可以给包中的类注册别名,注册后可以直接使用类名,而不用使用全限定的类名--> <property name="typeAliasesPackage" value="com.springmvc.model" /> <!-- mysqlSqlSessionFactory会自动扫描该路径下的所有文件并解析。--> <property name="mapperLocations"> <list> <value>classpath:/mybatis/*Mapper.xml</value> </list> </property> </bean> <!--会查找类路径下的映射器并自动将它们创建成MapperFactoryBean --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="mysqlSqlSessionFactory"></property> <!-- 为映射器接口文件设置基本的包路径 --> <property name="basePackage" value="com.springmvc.dao" /> <!-- 该属性起到一个过滤的作用,设置该属性,那么mybatis的dao接口 只有包含该注解 才会被扫描--> <property name="annotationClass" value="com.springmvc.base.JYBatis"/> </bean>
5) 自定义的JYBatis
/** * 标识MyBatis的DAO,方便{@link org.mybatis.spring.mapper.MapperScannerConfigurer}的扫描�?? * * 总的来说就是 target(接口) retention(java-class后依旧可用) document(包含在javadoc中) component(spring扫描) */ @Retention(RetentionPolicy.RUNTIME) //注解的生命周期 这个是最长的 jvm加载class文件之后,仍然存在 @Target(ElementType.TYPE) //注解修改目标 (这是个接口) 接口、类、枚举、注解 @Documented //该注解将被包含在javadoc中 @Component //@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 public @interface JYBatis { String value() default ""; }
6) 数据库连接参数 (这个根据自己本地的库的名字和端口 来自己写)
db.username=root db.password=123456 db.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8 db.dirverClass=com.mysql.jdbc.Driver
这样mybatis就整合到springmvc中了,下面做一个例子,往mysql中插入一条数据
1) 首先是jsp页面
还在login.jsp中写一个form
<form action="spring/student/testController" method="post"> <br />用户名: <input type="text" name="name"> <br /> <br />年龄: <input type="text" name="age"> <br /> <br /> 老师: <input type="text" name="teacher"> <br /> <input type="submit" value="登录"> </form>
2) model类 然后写一个Student model类
//Alias是mybatis给当前model类起的别名 typeAlias @Alias("Student") public class Student { private int id; private String name; private int age; private String teacher;
3)StudentController类
@Controller @RequestMapping("/spring/student") public class StudentController { @Resource private StudentService ss; @RequestMapping(value="/testController") public String toPage(Student s){ System.out.println(s.toString()); s.setId(33); ss.save(s); return "success"; } }
4) StudentService StudentServiceImpl StudentDao
public interface StudentService { public void save(Student student); } //StudentServiceImpl 这里要加上注解 @Service("StudentService") public class StudentServiceImpl implements StudentService { @Autowired private StudentDao studentDao; @Override public void save(Student student) { studentDao.insert(student); }
StudentDao 要加上自定义注解 这里spring会自动为其创建bean
@JYBatis public interface StudentDao { public void insert(Student student); }
5) 最后是mybatis的xml文件 StudentMapper.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.springmvc.dao.StudentDao"> <!-- com.jy.entity.system.account.Account --> <!-- com.jy.entity.oa.leave.Leave --> <resultMap id="base" type="Student" > </resultMap> <select id="find" resultMap="base" parameterType="Student"> SELECT t.* FROM user1 t WHERE 1=1 <if test="id != null and id!='' "> AND t.id=#{id} </if> </select> <select id="count" resultType="int" parameterType="Student"> SELECT count(*) FROM user1 t WHERE 1=1 </select> <insert id="insert" parameterType="Student"> <![CDATA[ INSERT INTO user1( id, age, name, teacher ) VALUES ( #{id}, #{age}, #{name}, #{teacher} ) ]]> </insert> <update id="updateUserAssetInfo" parameterType="Map"> UPDATE user1 SET id=#{id}, age=#{age}, name=#{name}, teacher=#{teacher} WHERE id=#{id} </update> </mapper>
总结
以上所述是小编给大家介绍的如何将mybatis配置到springmvc中,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
我试图创建一个springmvc项目配置与Hibernate使用web.xml 我的问题是,当我运行时,它不会自动创建用户表。 这是我的代码: 文件spring-config.xml 文件web.xml: 文件UserDAO: 文件UserDaoImpl: 文件用户: 这是我的日志:
我试图在我的应用程序中实现jpa 发展能力 所以,我的DataConfig看起来像这样: 但是,当我尝试启动应用程序时,会出现错误消息。制造战争- 已连接到服务器[2018-09-26 09:54:32631]工件未命名:正在部署工件,请稍候。。。2018年9月26日09:54:34.460警告[RMI TCP连接(3)-127.0.0.1]组织。阿帕奇。公猫dbcp。dbcp2。基本资源工厂。g
本文向大家介绍springmvc与mybatis集成配置实例详解,包括了springmvc与mybatis集成配置实例详解的使用技巧和注意事项,需要的朋友参考一下 简单之美,springmvc,mybatis就是一个很好的简单集成方案,能够满足一般的项目需求。闲暇时间把项目配置文件共享出来,供大家参看: 1.首先我们来看下依赖的pom: spring 选用的是4.1.4的版本,根据系统需要我们可以
Mybatis 配置文件 MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录 mybatis官方中文文档
本文向大家介绍Springmvc restful配置遇到的小坑,包括了Springmvc restful配置遇到的小坑的使用技巧和注意事项,需要的朋友参考一下 首先web.xml配置 url-pattern 配置/即可,如果配置/*的话会出问提,连返回视图jsp也会拦截,具体原因请看翻看源码 问提:这样配置的话,大家都会忽略一个问题,就是a/b/c可以访问,但是a/b/c.do;a/b/c.mm;
本文向大家介绍Spring SpringMVC,Spring整合MyBatis 事务配置的详细流程,包括了Spring SpringMVC,Spring整合MyBatis 事务配置的详细流程的使用技巧和注意事项,需要的朋友参考一下 整合思路 (1)SSM是什么? Spring,SpringMVC,Mybastis (2)思路 搭建整合的环境,初始化环境 搭建Spring环境,配置完成并测试 (se
我试图在我的应用程序中配置2个不同的数据源,因为它是必需的。
本文向大家介绍SpringMVC Mybatis配置多个数据源并切换代码详解,包括了SpringMVC Mybatis配置多个数据源并切换代码详解的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了SpringMVC Mybatis配置多个数据源并切换代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 最近公司一个项目需要连接两个数据