博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring集成MyBatis
阅读量:4660 次
发布时间:2019-06-09

本文共 1836 字,大约阅读时间需要 6 分钟。

Spring集成MyBatis方式一

1188484-20170709171649165-848362384.png

  1. 导包 spring-webmvc mybatis-spring dbcp ojdbc spring-jdbc
  2. 配置MyBatis: conf/spring-mybatis.xml

    不再需要mybatis配置文件,在spring配置文件中添加SqlSessionfactoryBean来代替

  3. 实体类

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

    1188484-20170709172216634-11926991.png

  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    
不用考虑提交事务和关闭sqlSessionsst.insert("映射文件命名空间.save", e);注意没有map映射器,所以需要组件扫描

转载于:https://www.cnblogs.com/chentging/p/7142071.html

你可能感兴趣的文章
C#中隐藏(new)和方法重写(override)和重载(overload)的区别
查看>>
NET Core-学习笔记(三)
查看>>
解决 Unable to load native-hadoop library for your platform
查看>>
eclipse的debug
查看>>
SqlServer 由于未在SqlServer的此实例上安装复制组件解决方法
查看>>
SQLServer (多表左连接,指定操作某几行)
查看>>
在腾讯云服务器上安装JDK+Tomcat并启动tomcat
查看>>
远程连接mysql数据库注意点记录
查看>>
UOJ #206. 【APIO2016】Gap【交互题】
查看>>
Redis cluster的部署
查看>>
Qt编译工程提示qt creator no rule to make target opencv2/core/hal/interface.h need by debug解决方法...
查看>>
27. Remove Element
查看>>
给定一个数组,当中有正负数,求当中的一段“子数组”(即任意长度,连续的数字), 使得这个“子数组”的和是所有“子数组”和中最大的...
查看>>
配置vue环境
查看>>
FluentNhibernate 不支持存储过程
查看>>
基于数据驱动的活动该如何设计
查看>>
2017年09月
查看>>
[BZOJ 2127] happiness 【最小割】
查看>>
centos7KVM虚拟化常用虚机管理命令
查看>>
[SignalR]配置路由
查看>>