首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MyBatis(映射文件详解)

MyBatis(映射文件详解)

作者头像
全栈开发日记
发布2022-05-13 14:18:17
发布2022-05-13 14:18:17
6610
举报
文章被收录于专栏:全栈开发日记全栈开发日记

目录:

select标签 insert标签 update标签 delete标签 输出结果映射 输入映射

select标签

用于执行DQL语句。

属性:

id:保证唯一 resultType或resultMap:进行结果映射。

parameterType:输入参数类型。

代码语言:javascript
复制
<select id="selectUserNameById_10" resultType="string">
  select username from s_user where id=10 
</select>

insert标签

用于处理insert语句。

属性:

id:保证唯一。

parameterType:输入映射。

没有输出结果映射,但是有int返回值,返回值代表影响行数。

keyProperty:指定输入参数中作为主键的属性。

useGeneratedKeys:指定使用自增主键来映射主键列。

代码语言:javascript
复制
<insert id="insertUser" parameterType="user" keyProperty="id" useGeneratedKeys="true">
  insert into s_user(username,pwd) values(#{username},#{pwd})
</insert>

update标签

用于执行update语句。

属性:

id:保证唯一。

parameterType:输入映射。

没有输出结果映射,但是有int返回值,返回值代表影响行数。

代码语言:javascript
复制
<update id="updateUser" parameterType="user">
  update s_user set username=#{username},pwd=#{pwd} where id=#{id}
</update>

delete标签

用于执行delete语句。

属性:

id:保证唯一。

parameterType:输入映射。

没有输出结果映射,但是有int返回值,返回值代表影响行数。

代码语言:javascript
复制
<delete id="deleteUser" parameterType="int">
  delete from s_user where id=#{sdfsdfsd}
</delete>

输出结果映射

1 resultType

输出数据类型可以是简单数据类型,也可以是封装好的pojo。

代码语言:javascript
复制
<select id="selectUserInfos" resultType="com.sofwin.pojo.User">
  select * from s_user
</select>

2 resultMap

属性:

type:需要映射的类型(pojo类型或扩展类型)也是接口中方法的返回值类型或泛型。

id:resultMap的唯一标识,不能重复。

将输出结果映射属性设置为resultMap。

代码语言:javascript
复制
<select id="selectUserInfo1" resultMap="map1">
  select id as ids,username as usernames from s_user
</select>
代码语言:javascript
复制
<resultMap type="user" id="map1">
  <!-- 用于映射主键列的
  column:查询结果的列名
  property:需要映射到的属性名
  javaType:用于指定属性的类型(一般省略)
  jdbcType:用于指定列的类型(一般省略) -->
  <id column="ids" property="id"/>
  <!-- 用于映射普通属性 -->
  <result column="usernames" property="username"/>
</resultMap>

输入映射

parameterType中可以是内置别名或自定义别名或全限定类名。

1 简单数据类型

代码语言:javascript
复制
<select id="selectUserNameById_10" resultType="string" parameterType="int">
  select username from s_user where id=#{id}
</select>

2 hashMap

代码语言:javascript
复制
<select id="selectUserByUnameAndPwd" resultType="user" parameterType="map">
  select * from s_user where username=#{username} and pwd=#{pwd}
</select>

3 pojo或扩展类型

代码语言:javascript
复制
<select id="selectUserByUnameAndPwd" resultType="user" parameterType="user">
  select * from s_user where username=#{username} and pwd=#{pwd}
</select>
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈开发日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • select标签
  • insert标签
  • update标签
  • delete标签
  • 输出结果映射
  • 1 resultType
  • 输入映射
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档