Spring和MyBatis整合
2016-03-17 21:04
363 查看
上一篇介绍了使用Spring JdbcTemplate操作数据库,接下来跟大家一起分享一下Spring+MyBatis实现数据库操作。众所周知,MyBatis因其简单易于学习等优点而深受广大程序猿的喜欢(当然我也是其中一个)~_~,前端时间刚做过一个MyBatis+Struts+Spring的项目,在这里跟大家分享一下自己的一些操作心得,希望能帮助大家。废话不多说,接下来为大家献上MyBatis在Spring中的部署。1、当然是导入必要的Jar包了(commons-io-XXX.jar、mybatis-XXX.jar、mybatis-spring-XXXXX.jar)。2、使用mybatis-generator-core-XXX-bundle.zip生成MyBatis所必须的java访问接口类以及SQL映射语句文件等(具体的实现方法可以去 参考:/article/9894599.html)。3、将生成的文件移植到自己的项目底下(当然生成的文件需要根据自己要实现的功能来做修改,特别是生成的xml映射文件)。4、在MyBatis配置文件(MyBatis-Configuration.xml)中添加SQL映射文件信息如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <mappers> <mapper resource="cn/wang/mybatis/dao/mapper/xml映射文件1" /> <mapper resource="cn/wang/mybatis/dao/mapper/<span style="font-family: Arial, Helvetica, sans-serif;">xml映射文件2"</span><span style="font-family: Arial, Helvetica, sans-serif;"> /></span> </mappers> </configuration>5、在Spring配置文件中配置数据源、事务、MyBatis的SqlSessionFactoryBean、SessionTemplate和Dao。如下:
<span style="white-space:pre"> <!-- 定义dbcp数据源 数据库连接池 --> <span style="white-space:pre"> </span><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" > <span style="white-space:pre"> </span><!-- 指定JDBC驱动类 --> <span style="white-space:pre"> </span><property name="driverClassName" value="${jdbc.driver}"> <span style="white-space:pre"> </span></property> <span style="white-space:pre"> </span><!-- 提供连接数据库的URL地址 --> <span style="white-space:pre"> </span><property name="url" value="${jdbc.url}"> <span style="white-space:pre"> </span></property> <span style="white-space:pre"> </span><!-- 提供连接数据库的用户名和密码 --> <span style="white-space:pre"> </span><property name="username" value="${jdbc.username}"></property> <span style="white-space:pre"> </span><property name="password" value="${jdbc.password}"></property> <span style="white-space:pre"> </span></bean></span>
<span style="white-space:pre"> </span><!-- 配置mybitasSqlSessionFactoryBean --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:MyBatis-Configuration.xml"></property> </bean> <!-- 配置SqlSessionTemplate并注入SqlSessionFactory --> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory" /> </bean>
定义事务管理器大家可以参考:<a target=_blank href="http://www.cnblogs.com/xusir/p/3650522.html">http://www.cnblogs.com/xusir/p/3650522.html</a>在这里谢谢博主了!!6、在Dao层的实现类中实现增删改查操作
//Spring会根据id自动注入private SqlSessionTemplate sqlSessionTemplate;/***省略get/set方法*/public void findAllEmp() {MEmployeeMapper empM = sqlSessionTemplate.getMapper(MEmployeeMapper.class);MEmployee mEmp = empM.selectByPrimaryKey("004");<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>//查询操作(<span style="font-family: Arial, Helvetica, sans-serif;">selectByPrimaryKey方法是mybatis-generator-core-XXX-bundle.zip工具生成的java访问接口类在这里可以直接使用映射接口来实现数据库操作</span><span style="font-family: Arial, Helvetica, sans-serif;">)</span>int num = empM.deleteByPrimaryKey("004");<span style="white-space:pre"> </span>//删除操作System.out.println(mEmp.getName() + "\t" + num);}至此MyBatis+Spring配置已经讲解完毕。这只是我个人操作的心得,俗话说技术以实用为主,因此在这里只介绍了使用方法,至于内部的实现原理大家可以在网上学习,在一起分享一下,希望大家多多指教!谢谢大家!
相关文章推荐
- SpringMVC+Shiro权限管理
- JAVAssist字节码操作
- Java对象存储地址
- Java Semaphore and Condition Note
- Java中操作逻辑运算符时进行“短路”测试
- 解决:Eclipse调试进不了maven第三方包的源代码,多图亲测可用
- java课后总结3
- java第一个程序
- 关于java 多线程编程的同步问题
- springmvc+spring+mybatis+maven+mysql项目(二)Springmvc + ajax 实现javaweb验证码的制作及进行异步验证
- 《深入Java虚拟机》笔记:指令集 (转)
- 回溯法(试探法)生成彩票号码组合(java)
- Java学习笔记(一)对象与类
- jni编程,使用javah命令生成方法签名头文件
- java作业之定义Date类,功能:判断输入的是否为闰年。。。
- 眼睛跟踪 java
- JAVA总结2
- Java高级部分组件重点总结
- [java]多态
- java访问控制符和权限