云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > mybatis12月7号课堂笔记

mybatis12月7号课堂笔记

  • 62 次阅读
  • 3 次下载
  • 2026/4/23 22:38:39

10.3 传递hashmap

parameterType指定hashmap传递输入参数,#{}和${}中引用map的key。

Sql映射文件定义如下:

select * from user where id=#{id} and username like '%${username}%'

10.4 小结:

如果使用动态代理方式,mapper接口的输入参数只有一个,是否有局限性?

Mapper就是dao,dao不是service,dao中没有业务逻辑,编写的dao具有公用的特性,被service公用。 即使mapper接口方法输入参数只有一个,建议使用包装对象(注意不要使用map),使用组合方式将pojo包装进来。

对于parameterMap已经过期不建议使用。

11 resultType

11.1 返回pojo

resultType:将sql查询结果集映射为java对象。要求sql查询的字段名和resultType指定pojo的属性名一致,才能映射成功。

如果全部字段和pojo的属性名不一致,映射生成的java对象为空,只要有一个字段和pojo属性名一致,映射生成的java对象不为空。

结论:sql查询字段名和pojo的属性名一致才能映射成功。

不管select返回的是单个对象还是集合对象,resultType要指定单条记录映射的java对象。

11.2 返回简单类型

如果sql查询的结果集只有一行且一列,resultType可以返回简单类型。

11.3 返回hashmap

输出pojo对象可以改用hashmap输出类型,将输出的字段名称作为map的key,value为字段值。 ? Mapper.xml

selectid,username username_ from user where username = #{user.username} and sex=#{user.sex}

? Mapper.java

Public Map findUserListReturnMap(QueryVoqueryVo);

建议不使用map作为返回值,因为需要对key在代码中硬编码。

11.4 小结

1、 如果返回pojo,要求sql查询字段名和pojo的属性名一致。

2、 不管select返回的是单个对象还是集合对象,resultType指定相同的映射类型(单条记录映射的java对象

类型。)

企业中常用resultType,针对sql查询结果定义pojo即可。

12 动态sql

Mybatis提供了很多标签,用于拼接sql语句。

12.1 if

判断,如果条件满足,进行sql拼接。

12.2 sql片段

sql片段:可以将一些sql定义成一个片段,可以被其它statement引用。

Sql片段定义:

开发经验:

建议以单表抽取sql,sql片段的可重用性才高。

Sql片段使用:

12.3 foreach

需求:传入多个id查询用户

Sql语句: 两个方法:

SELECT * FROM USER WHERE username LIKE '%张%' AND (id =10 OR id =89 OR id=16)

SELECT * FROM USER WHERE username LIKE '%张%' id IN (10,89,16)

搜索更多关于: mybatis12月7号课堂笔记 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

10.3 传递hashmap parameterType指定hashmap传递输入参数,#{}和${}中引用map的key。 Sql映射文件定义如下: select * from user where id=#{id} and username like '%${username}%' 10.4 小结: 如果使用动态代理方式,mapper接口的输入参数只有一个,是否有局限性? Mapper就是dao,dao不是service,dao中没有业务逻辑,编写

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com