栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring-mybatis整合方式两种

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring-mybatis整合方式两种

Spring和mybatis整合方式一

什么是 MyBatis-Spring?
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。

知识基础
在开始使用 MyBatis-Spring 之前,你需要先熟悉 Spring 和 MyBatis 这两个框架和有关它们的术语。这 很重要
MyBatis-Spring 需要以下版本:

如果使用 Maven 作为构建工具,仅需要在 pom.xml 中加入以下代码即可:


    org.mybatis
    mybatis-spring
    2.0.2

要和 Spring 一起使用 MyBatis,需要在 Spring 应用上下文中定义至少两样东西:一个 SqlSessionFactory 和至少一个数据映射器类。

在 MyBatis-Spring 中,可使用 SqlSessionFactoryBean 来创建 SqlSessionFactory 。 要配置 这个工厂 bean,只需要把下面代码放在 Spring 的 XML 配置文件中:


  

注意: sqlSessionFactory需要一个 DataSource (数据源)。 这可以是任意的DataSource ,只需要和配置其它 Spring 数据库连接一样配置它就可以了。

在基础的 MyBatis 用法中,是通过 SqlSessionFactoryBuilder 来创建 SqlSessionFactory 的。 而在 MyBatis-Spring 中,则使用SqlSessionFactoryBean来创建。

在 MyBatis 中,你可以使用sqlSessionFactory来创建 。一旦你获得一个 session 之后,你可以使用它来执行映射了的语句,提交或回滚连接,最后,当不再需要它的时候,你 可以关闭 session。

sqlSessionFactory有一个唯一的必要属性:用于 JDBC 的 DataSource 。这可以是任意的 DataSource 对象,它的配置方法和其它 Spring 数据库连接是一样的。

一个常用的属性是 configLocation ,它用来指定 MyBatis 的 XML 配置文件路径。它在需要修改 MyBatis 的基础配置非常有用。通常,基础配置指的是 或 元素。

需要注意的是,这个配置文件并不需要是一个完整的 MyBatis 配置。确切地说,任何环境配置()、数据源( )和 MyBatis 的事务管理器()都会被忽略。 sqlSessionFactoryBean会创建它自有的 MyBatis环境配置(Environment),并按要求设置自定义环境的值。

SqlSessionTemplate是MyBatis-Spring的核心,作为sqlSession的一个实现,这意味着可以使用它无缝代替你代码中已经在使用的 SqlSession 。

模板可以参与到 Spring 的事务管理中,并且由于其是线程安全的,可以供多个映射器类使用,你应该总 是用 SqlSessionTemplate 来替换 MyBatis 默认的 DefaultSqlSession 实现。在同一应用程 序中的不同类之间混杂使用可能会引起数据一致性的问题。

可以使用 SqlSessionFactory 作为构造方法的参数来创建 SqlSessionTemplate 对象。


  

现在,这个 bean 就可以直接注入到你的 DAO bean 中了。你需要在你的 bean 中添加一个 SqlSession 属性,就像下面这样:

public class UserDaoImpl implements UserDao {
  private SqlSession sqlSession;
  public void setSqlSession(SqlSession sqlSession) {
    this.sqlSession = sqlSession;
}
  public User getUser(String userId) {
    return sqlSession.getMapper...;
} }

按下面这样,注入 SqlSessionTemplate :


  

整合实现方式一:

1. 引入Spring配置文件spring-day.xml





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

    
        
        
        
        
    

3. 配置SqlSessionFactory,关联MyBatis

    
        
        
        
        
        
    
  1. 测试
public class MyTest {
    @Test
    public void test() throws IOException {
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-dao.xml");

        UserMapper userMapper = context.getBean("userMapper2", UserMapper.class);

        for (User user : userMapper.selectUser()) {
            System.out.println(user);
        }
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/271094.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号