mybatis中mapper的写法
Mybatis的mapper写法
基础结构
1 |
|
其中,namespace要写成对应的mapper类路径
别名
1 |
|
将需要重复使用的字段整理为一组,使用别名标识,需要的时候,就可以使用<include refid="selectFields">
来代替username, password, salt, email, type, status, activation_code, header_url, create_time
。
增加、删除、修改、查询
1 |
|
对应的Mapper类中方法为
1 |
|
#{id}可以直接引用到函数参数中的id
因为application.properities
中配置了
1 |
|
所以可以直接写User
,而不用写完整路径。
其他的语句对应<delete></delete>
,<update></update>
,<insert></insert>
主键自增
1 |
|
keyProperty="id"
用于绑定对应Java类中的id
分页查询
1 |
|
1️⃣查询第1条到第10条的数据select * from table limit 0,10; —>对应需求就是查询第一页的数据:select * from table limit (1-1)*10,10;
2️⃣查询第11条到第20条的数据select * from table limit 10,10; —>对应需求就是查询第二页的数据:select * from table limit (2-1)*10,10;
3️⃣查询第21条到第30条的数据select * from table limit 20,10; —>对应需求就是查询第三页的数据:select * from table limit (3-1)*10,10;
由此,得出符合需求的分页 sql 格式是:select * from table limit (start-1)*pageSize,pageSize;其中 start 是页码,pageSize 是每页显示的条数。
ResultMap
在 MyBatis 中,resultMap
是一个用于定义结果映射的元素,允许你将查询结果集中的列与 Java
对象的属性进行映射。resultMap
提供了比
resultType
更灵活和精确的控制,可以处理复杂的映射关系,比如嵌套对象和多表关联的结果。
参数别名
1 |
|
然后就可以使用#{userId}
来引用参数userId