Spring-mybatis的整合
来源:互联网 发布:网络商标注册 编辑:程序博客网 时间:2024/06/05 06:02
Spring可谓是软件行业的春天,通过对Spring-mybatis的整合,真切的感受到Spring的强大。
整合版本1:
Spring配置文件:
<!-- 配置数据源 --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/test"></property> <property name="username" value="root"></property> <property name="password" value="a"></property> </bean> <!-- 事务管理 --> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="select*" propagation="REQUIRED" /> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="pointcut" expression="execution(* com.lsw.spring4_mybatis.dao.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut" /> </aop:config> <!-- 配置sqlSession --> <bean id="sqlSessionFatory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="configLocation" value="classpath:mybatis-config.xml"></property> </bean> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFatory"></constructor-arg> </bean> <bean id="userDao" class="com.lsw.spring4_mybatis.dao.impl.UserDaoImpl"> <property name="sqlSession" ref="sqlSessionTemplate"></property> </bean>
其中我在案例中也添加的声明式事务,这个在很多地方都能够用到。例如转账,上一个操作操作失败,下一个操作应该不进行,操作回滚,Spring已经为我们准备好了一切,只需要在配置文件中配置即可。
其中Spring生成的对象sqlSessionTemplate,如果有兴趣的同学能够通过源码查看到配置sqlSessionTemplate(用的是构造器注入)
整合版本2:
注意:需要导入mybatis-spring-1.2.3.jar擦<!-- 配置数据源 -->
<!-- 配置数据源 --><bean id="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"></property><property name="url" value="jdbc:mysql://localhost:3306/test"></property><property name="username" value="root"></property><property name="password" value="a"></property></bean><!-- 事务管理 --><bean id="txManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource" /></bean><!-- 配置事务通知 --><tx:advice id="txAdvice" transaction-manager="txManager"><tx:attributes><tx:method name="select*" propagation="REQUIRED" /></tx:attributes></tx:advice><aop:config><aop:pointcut id="pointcut"expression="execution(* com.lsw.spring4_mybatis.dao.*.*(..))" /><aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut" /></aop:config><!-- 配置sqlSession --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="configLocation" value="classpath:mybatis-config.xml"></property></bean><bean id="userDao" class="com.lsw.spring4_mybatis.dao.impl.UserDaoImpl"><property name="sqlSessionFactory" ref="sqlSessionFactory"></property></bean>
其中省略了一个bean对象的创建(sqlSessionTemplate)
如何实现的呢?
public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao{@Overridepublic List<User> selectUser() {return this.getSqlSession().selectList("com.lsw.spring4_mybatis.bean.User.selectUser");}}继承了SqlSessionDaoSupport类,在SqlSessionDaoSupport类中有setSqlSessionFactory的方法,同时底层也是讲sqlSessionTemplate整合起来才实现的。这种方法简化了代码。
0 0
- Spring-mybatis的整合
- spring整合mybatis的
- mybatis+spring的整合
- Struts2+mybatis+Spring的整合
- MyBatis与Spring的整合
- spring整合mybatis的事务管理
- mybatis+spring整合,能用的
- spring 和 mybatis 的整合
- mybatis与spring的整合
- Mybatis 和 Spring 的整合
- mybatis与spring的整合
- Spring 与 MyBatis 的整合
- SPRING与MYbatis的整合
- Spring和Mybatis的整合
- Spring同Mybatis的整合
- Spring同Mybatis的整合
- Spring同Mybatis的整合
- Spring同Mybatis的整合
- FFmpeg实用命令
- 5月23号 硕士毕业预答辩关于ppt的相关要求
- hrbust 1375 The Active Leyni【暴力打表+递推+矩阵快速幂】
- U盘安装CentOS7遇到:init... timeout
- [Java]ThreadPoolExecutor源码分析
- Spring-mybatis的整合
- ColorDescriptor software v4.0 一个提取颜色特征描述子的软件包
- hdoj2053
- ffmpeg filter command
- Opendaylight 学习文档 ---转载
- C语言中动态二维数组的创建
- 逻辑思维题 微信18954274246 答案
- HDU 5694 BD String
- HDU 5694 BD String