使用mapper代理的好处就是,当我们写了DAO后,Mybatis会自动帮我们自动实现实现类,不用我们再写DAOImpl。
而我们要做的就是:
- 编写DAO接口
- 编写与DAO中方法相对应的mapper.xml
mapper.xml标签编写规则
- namespace为DAO接口的全类名
- id为DAO接口中对应方法的名字
- parameterType为DAO接口中对应方法的参数类型
- resultType为DAO接口中对应方法的返回值类型(添加修改删除的返回就是影响的行数,所以肯定是int类型,所以这三个标签中其实并无也不必要写resultType )
- 建议: mapper.xml的文件名与DAO接口名保持一致
写完mapper.xml之后,同样需要在mybatis-config.xml中注册这个mapper,然后在测试方法中生成代理对象使用就行
示例
public interface MybatisAccountDAO{
List<MybatisAccountDO> selectAll();
}
<!--MybatisAccountDAO.xml-->
<mapper namespace="com.test.dao.MybatisAccountDAO">
<select id="selectAll" resultType="com.test.do.MybatisAccountDO">
select * from mybatis_account
</select>
</mapper>
<!--mybatis-config.xml-->
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 如果我们有多个数据库这里就可以配置多个数据源,然后在default里-->
<environments default="MyBatisLearning">
<environment id="MyBatisLearning">
<!-- 配置当前环境的事务管理-->
<transactionManager type