欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【原创】Mybatis学习笔记(二)——一些写mapper配置使用的最佳实践

程序员文章站 2022-06-04 15:22:07
...

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>

 

 未完待续

 

注:本博客文章均已注明原创和转载,如转载本博客文章,请注明原文出处或征求原作者同意。

相关标签: mybatis