MyBatis 框架的常用优化方法

发布时间 2023-03-31 14:16:44作者: Linqylin
优化 1:单独使用 MyBatis 时,可以封装一个用来获取 MyBatis中 Session 的工具类
(1) 工具类 MybatisUtil 将 Mybatis 框架中的 Session 对象的获取和关闭封装成一个类;
(2) UserDaoImpl 中,改为对 MybatisUtil 类的调用。
 
优化2:将连接字符串写入配置文件
(1) 阅读 database.properties 文件,并根据自己系统的信息进行修改;
(2) 修改 Mybatis 框架的主配置文件,代码如下;
<!-- 引入数据库配置文件 -->
<properties resource="database.properties"/>
<!-- 配置数据库连接环境:driver、url、username、password -->
<environments default="mysql">
<!-- 开始配置 mysql -->
<environment id="mysql">
<!--配置事务 -->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
(3) 测试程序
 
优化 3:去掉 dao 层实现类,简化项目结构
 实体层包名:cn.java.pojo
 持久层包名:cn.java.mapper
 Mapper层接口名:UserMapper
 Mybatis局部配置文件名:
一定要与它所支持的mapper层中的接口同名
如:UserMapper.xml要与UserMapper.java同名
 可以将mapper层接口与Mybatis局部配置文件放在同一个包下:
 mapper层接口中定义的方法名,一定要与Mybatis局部配置文件的SQL语句的id同名;
 注意mapper层中,没有接口的实现类。
 
优化 4:使用@Before 和@After 注解,简化代码
 在测试类中的某个方法前加@Before注解,可以使得在执行其他方法前,先执行该方法,如以下代码:
@Before
public void init(){
session= MybatisUtil.getSession();
//um 就是 Mapper 的实现类
um=session.getMapper(UserMapper.class);
}
 在测试类中的某个方法前加@After注解,可以使得在执行其他方法后,再执行该方法,如以下代码:
@After
public void destory(){
//关闭 session 会话
MybatisUtil.closeSession(session);
}
 
优化 5:使用@Select 等注解,简化代码
 
优化 6:使用别名
在 Mybatis 的主配置文件中配置包的别名,简化代码。
 
Mybatis 的帮助文档:
https://mybatis.org/mybatis-3/zh/index.html