设为首页 加入收藏

TOP

Spring AOP及整合Mybatis(六)
2023-07-25 21:43:21 】 浏览:95
Tags:Spring AOP Mybatis
SqlSessionTemplate

<bean id="userDao" class="org.mybatis.spring.sample.dao.UserDaoImpl">
  <property name="sqlSession" ref="sqlSession" />
</bean>

整合实现一

1. 引入Spring配置文件beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
      http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

2. 配置数据源替换mybaits的数据源

<!--配置数据源:数据源有非常多,可以使用第三方的,也可使使用Spring的-->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;useUnicode=true&amp;characterEncoding=utf8"/>
  <property name="username" value="root"/>
  <property name="password" value="123456"/>
</bean>

3. 配置SqlSessionFactory,关联MyBatis

<!--配置SqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource"/>
  <!--关联Mybatis-->
  <property name="configLocation" value="classpath:mybatisconfig.xml"/>
  <property name="mapperLocations" value="classpath:com/hang/dao/*.xml"/>
</bean>

4. 注册sqlSessionTemplate,关联sqlSessionFactory;

<!--注册sqlSessionTemplate , 关联sqlSessionFactory-->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
  <!--利用构造器注入-->
  <constructor-arg index="0" ref="sqlSessionFactory"/>
</bean>

5. 增加Dao接口的实现类;私有化sqlSessionTemplate

public class UserDaoImpl implements UserMapper {
  //sqlSession不用我们自己创建了,Spring来管理
  private SqlSessionTemplate sqlSession;
  public void setSqlSession(SqlSessionTemplate sqlSession) {
    this.sqlSession = sqlSession;
  }
  public List<User> selectUser() {
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    return mapper.selectUser();
  }
}

6. 注册bean实现

<bean id="userDao" class="com.kuang.dao.UserDaoImpl">
  <property name="sqlSession" ref="sqlSession"/>
</bean>

7. 测试

@Test
public void test2(){
  ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
  UserMapper mapper = (UserMapper) context.getBean("userDao");
  List<User> user = mapper.selectUser();
  System.out.println(user);
}

结果成功输出!现在我们的Mybatis配置文件的状态!发现都可以被Spring整合!

整合实现二

mybatis-spring1.2.3版以上的才有这个 .

官方文档截图 :

dao继承Support类 , 直接利用 getSqlSession() 获得 , 然后直接注入SqlSessionFactory . 比起方式1 , 不 需要管理SqlSessionTemplate , 而且对事务的支持更加友好 . 可跟踪源码查看

 

 测试:

1. 将我们上面写的UserDaoImpl修改一下

public class UserDaoImpl exten
首页 上一页 3 4 5 6 7 8 下一页 尾页 6/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spring IOC官方文档学习笔记(十.. 下一篇学习笔记——redis事务、乐观锁、..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目