【原创】Mybatis学习笔记(二)——一些写mapper配置使用的最佳实践
程序员文章站
2022-06-04 15:17:43
...
Mybatis学习笔记(二)
——一些写mapper配置使用的最佳实践
- 使用mybatis,目的是为了减少dao层的代码量和维护难度,所以放弃dao层的实现吧,dao层只需要一个接口
- 把mapper.xml放在dao层接口的同一个包下,配置文件和接口同名,mybaits会自己识别,在领域层(domain)或者服务层(service)使用@Resource自动装配,mybatis会使用动态代理自动生成dao接口的实例(需要引入cglib包,例如cglib-nodep-2.2.3.jar);
- <mapper>标签需要指定命名空间,所以请使用dao层接口的全局限定名;
- 表名是重用率比较高的,所以预定义
<sql id="TABLE"> pub_user </sql>
- 列名是重用率比较高的,所以预定义
<sql id="COLUMNS"> user_id, user_code, user_name, password, group_id, is_use </sql>
- 排序是重用率比较高的,所以预定义
<sql id="ORDER"> <if test="order != null"> order by #{order} </if> <if test="!isAsc"> desc </if> </sql>
- 对于查询(query)这样的方法,返回值是多个的,<select>标签中的resultMap只需要指定数组或者列表中的元素类型即可
<!-- 结果集映射定义 -->
<resultMap id="DATA" type="com.lxl.authority.user.model.User">
<result property="isUse" column="is_use" />
</resultMap>
<!-- 查询定义 -->
<select id="query" parameterType="com.lxl.authority.user.controller.UserQueryFilter"
resultMap="DATA">
……
</select>
未完待续
注:本博客文章均已注明原创和转载,如转载本博客文章,请注明原文出处或征求原作者同意。
下一篇: 2018版中国行政区代码和名称JSON