Spring集成MyBatis

Spring集成MyBatis方式一

  1. 导包 spring-webmvc mybatis-spring dbcp ojdbc spring-jdbc

  2. 配置MyBatis: conf/spring-mybatis.xml
    不再需要mybatis配置文件,在spring配置文件中添加SqlSessionfactoryBean来代替



    <util:properties id="jdbc" location="classpath:conf/jdbc.properties"/>




















  3. 实体类

    实体类的属性名和表的字段名要一样,若不一样,在映射文件中配置ResultMap,大小写可忽略

  4. 配置Mapper映射文件:mapper/UserMapper.xml


  5. Mapper映射器:符合映射文件要求的接口(如果符合,MyBatis会生成接口实现类对象)

    a. 映射文件的namespace要与接口的完整名字(带包名)一致

    b. 方法名与sql的id一致

    c. 方法的参数类型与parameterType一致

    d. 方法的返回值与resultType一致
    使用:使用SqlSession获取MyBatis自动生成的映射器对象 session.getMapper(映射器类名.class);

    关键代码:

    String config = "SqlMapConfig.xml";
    //创建SqlSessionFactoryBuilder对象
    SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
    //创建SqlSessionFactory对象
    SqlSessionFactory ssf = ssfb.build(TestCase.class.getClassLoader().getResourceAsStream(config));
    //获取SqlSession对象
    SqlSession session = ssf.openSession();
    //调用SqlSession对象提供的方法访问数据库

    Employee e = new Employee();
    e.setName("king");
    e.setAge(33);
    session.insert("test.save", e);
    //添加,修改,删除都需要提交事务
    session.commit();
    //关闭SqlSession
    session.close();

  6. 补充:只扫描带有特定注解的接口

    1:开发一个空白注解

    2:将注解添加到需要扫描的接口之上

    3:修改MapperScannerConfiurer配置

Spring集成MyBatis方式二(基本不用)

1234步骤一样
5:写DAO接口 接口方法没有特定要求
6:写一个DAO接口的实现类,注入sqlSessionTemplate




不用考虑提交事务和关闭sqlSession
sst.insert("映射文件命名空间.save", e);
注意没有map映射器,所以需要组件扫描

posted @ 2017-07-09 17:20  weixsun  阅读(299)  评论(0)    收藏  举报