Mybatis使用Mapper代理模式开发

Posted 64Byte

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis使用Mapper代理模式开发相关的知识,希望对你有一定的参考价值。

  使用动态代理, 动态生成了Dao的实现类, Mybatis推荐Dao接口取名以Mapper,

    UserDao   -->  UserMapper

要求:

  1) Sql映射文件namespace写法必须与对应的Mapper接口的包名.接口名

       com.zl.dao.UserMapper        namespace=” com.zl.dao.UserMapper”

  2) Sql映射文件中statement的id 与对应方法名一致,id写的方法名

  3) Statement的parameterType的数据类型与对应方法的参数类型一致

创建资源文件夹管理文件:

   

 src就是资源文件夹,创建资源文件夹会拷贝到bin目录下

 

mybatis02.mapper包下的:UserMapper.java

public interface UserMapper {
    // 查询所有用户
    List<User> findAll() throws Exception;
}

config资源文件夹下的:UserMapper.xml配置文件

<mapper namespace="com.mybatis.mapper.UserMapper">
    <!-- 查询所有用户 -->
    <select id="findAll" resultType="com.mybatis.entity.User">
        select * from t_user
    </select>
</mapper>

测试代码:

public static void main(String[] args) throws Exception {
    SqlSession sqlSession = MybatisUtil.openSession();
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    List<User> list = userMapper.findAll();
    for (User user : list) {
        System.out.println(user);
    }
}

 

以上是关于Mybatis使用Mapper代理模式开发的主要内容,如果未能解决你的问题,请参考以下文章

Spring+SpringMVC+MyBatis深入学习及搭建——MyBatis原始Dao开发和mapper代理开发

Mybatis为什么只有mapper接口没有实现类

Spring+SpringMVC+MyBatis深入学习及搭建——MyBatis原始Dao开发和mapper代理开发(转发同上)

mybatis的Mapper代理原理

Mybatis学习---MyBatis知识原始Dao开发和mapper代理开发

02.MyBatis在DAO层开发使用的Mapper动态代理方式