Mybatis使用步骤简述:
1.编写实体类
2.编写mybatis主配置文件(记得绑定Mapper配置文件)
3.编写dao层接口
4.编写dao层接口对应的mapper配置文件
5.测试(拿到Sqlsession接口实例对象后,Mybatis通过代理dao实现DB操作)
文章图片
而Spring整合Mybatis其实可以分为三大步骤:
1.导包 2.写配置文件 3.测试
1.导包:
- junit
- mybatis
- mysql数据库
- spring相关
- aop织入器
- mybatis-spring整合包【重点】
- 配置Maven静态资源过滤问题!
-
junit junit4.12 mysql mysql-connector-java5.1.47 com.mchange c3p00.9.5.2 javax.servlet servlet-api2.5 javax.servlet.jsp jsp-api2.2 javax.servlet jstl1.2 org.mybatis mybatis3.5.2 org.mybatis mybatis-spring2.0.2 org.springframework spring-webmvc5.1.9.RELEASE org.springframework spring-jdbc5.1.9.RELEASE org.aspectj aspectjweaver1.9.4 org.projectlombok lombok1.18.22 src/main/java **/*.properties **/*.xml false src/main/resources **/*.properties **/*.xml false
- 2.写配置文件
- 2.1Mybatis-Spring(重点):核心 -> sqlSessionTemplate
- 什么是MyBatis-Spring?
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。
文档链接:http://mybatis.org/spring/zh/index.html
如果使用 Maven 作为构建工具,仅需要在 pom.xml 中加入以下代码即可:org.mybatis
mybatis-spring2.0.2
-
-
整合实现方式一:核心 -> sqlSessionTemplate
- 1.引入Spring配置文件spring-dao.xml,并把关键对象的创建交给 spring 控制反转(IOC),生成
:连接池对象,SqlSessionFactory工厂类,SqlSession对象 - 2.使用Spring的数据源替换Mybatis的数据源
- 3.配置SqlSessionFactory,关联MyBatis配置文件
- 4.注册sqlSessionTemplate,关联sqlSessionFactory
-
文章图片
- 5.需要给接口加 实现类;原来我们的所有操作,都使用sqlSession来执行;而现在都使用SqlsessionTemplate,即原来Mybatis的工作由Spring接管控制
- public class UserMapperImpl implements UserMapper {
- (方式二此步骤省略,不用注入SqlSessionTemplate)
- //原来我们的所有操作,都使用sqlSession来执行;而现在都使用SqlsessionTemplate
private SqlSessionTemplate sqlSession; public void setSqlSession(SqlSessionTemplate sqlSession) {
this.sqlSession = sqlSession;
}
【Spring整合Mybatis|Spring整合Mybatis】public ListselectUser() {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
return mapper.selectUser();
}
}
- //原来我们的所有操作,都使用sqlSession来执行;而现在都使用SqlsessionTemplate
- (方式二此步骤省略,不用注入SqlSessionTemplate)
- public class UserMapperImpl implements UserMapper {
- 6.将自己写的实现类,注入到Spring配置文件中。
-
文章图片
- 7.测试
- /*
* 1. 创建spring容器
根据xml文件应用程序Context容器(上下文)
classpath指配置文件的位置, 起点有java, resources. 写路径时相对这个起点去写
* */
@Test
public void test () throws IOException {
ApplicationContext context = new ClassPathXmlApplicationContext("spring-dao.xml");
- //实现类在Spring容器中的名字: userMapper
UserMapper userMapper = context.getBean("userMapper", UserMapper.class);
for (User user : userMapper.selectUser()) {
System.out.println(user);
}
}
文章图片
其他和方式一相同
方式三:
一般在实际开发中,Spring可以配置扫描Dao接口包,动态实现Dao接口注入到spring容器中,从而省略了 创建dao接口实现类 这一步骤。
推荐阅读
- Java|Spring整合MyBatis——超详细
- 嵌入式|字字珠玑,证监会84问小米如何反击?
- 字符串|SQLServer常用的字符串函数梳理
- 生活感想|选择从众,还是唯一()
- 生活感想|跨越断层,突破边界
- java|MySQL数据库无法备份解决——mysqlidump
- 阿里云教程|企业如何选择阿里云服务器? 阿里云服务器配置购买帮助文档
- 兔老大的系统设计|兔老大的系统设计(一)健康度系统
- Java基础|高并发线程/锁/内存处理模型