社区
Web 开发
帖子详情
关于mybatis的resultMap使用问题
slade_yu
2015-04-07 09:49:43
最近在做一个项目,想要实现dao类的一个方法,通过传入不同的参数使其选择不同的resultMap来接收数据,有办法实现吗?
...全文
229
2
打赏
收藏
关于mybatis的resultMap使用问题
最近在做一个项目,想要实现dao类的一个方法,通过传入不同的参数使其选择不同的resultMap来接收数据,有办法实现吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kongshiran
2015-04-08
打赏
举报
回复
在dao里面将一个map传过去,将你的所有需要的参数封装,然后在mapper.xml文件中的sql语句里面做判断,符合条件的参数用来查询,不符合的参数不用来查询 这是我之前做的例子,自己融会贯通改一下 dao中: Map<String, Object> params = new HashMap<>(4); if (StringUtils.notTrimEmpty(name)) { params.put("name", name); } if (ObjectUtils.notEmpty(departmentId)) { params.put("departmentId", departmentId); } if (StringUtils.notTrimEmpty(departmentName)) { params.put("departmentName", departmentName); } if (ObjectUtils.notEmpty(lastAccess)) { params.put("lastAccess", lastAccess); } return dao.query(params); mapper.xml文件中 <select id="query" resultType="Employee" parameterType="map"> select * from employee <where> <if test="name != null"> AND name = #{name} </if> <if test="departmentId != null"> AND departmentId = #{departmentId} </if> <if test="departmentName != null"> AND departmentName = #{departmentName} </if> <if test="lastAccess != null"> AND lastAccess = #{lastAccess} </if> </where> </select>
maxldwy
2015-04-07
打赏
举报
回复
判断参数类型然后选择对应的map? 太麻烦了吧,这样你调用dao的action类不也得做判断然后改map么,不如一个map对应一个dao,在action里对参数判断然后调用不同的dao
MyBatis
result
Map
元素详解
MyBatis
Result
Map
元素详解
MyBatis
Result
Map
元素详解
result
Map
元素属性1. id:映射规则集的唯一标识,可以被select元素的
result
Map
属性应用2.type:映射的结果类型,这里指定封装成userList实例
result
Map
元素包含以下子元素1. id:指定和数据表主键字段对应的标识属性。设置此项可以提升
MyBatis
框架的性能,特别是应用缓存和嵌套结果映射的时候。2.
result
:指定结果集字段和实体类属性的映射关系。3.association:映射到J
mybatis
Result
Map
对象详解
mybatis
Result
Map
对象详解
Mybatis
result
Map
标签继承、复用、嵌套
Mybatis
result
Map
标签继承、复用、嵌套 记录演示
Mybatis
中
result
Map
标签继承、复用(包括跨文件)以及多层嵌套的
使用
方法, 继承: 继承已存在的
result
Map
标签进行扩展 复用: 跨
map
per文件引用现存的
result
Map
标签 嵌套: 多层嵌套的JavaBean与
result
Map
映射方法 一、定义表与实体类 表 创建三个表 group member score score 与 member 一对一,通过 score.id 关联 group 与
伪列使
MyBatis
Result
Map
不进行去重操作
伪列使
MyBatis
Result
Map
不进行去重操作
MyBatis
Result
Map
去重操作,原因:
MyBatis
的
Result
Map
默认是把id作为
map
的主键,当id相同时,不管其他字段相不相同,它都当作相同的记录。那么主键是唯一的,所以他就会进行去重操作。如下sql语句: SELECT app_info.*, dic.valueName AS flatformName, cat1.categoryName AS level1Name,
MyBatis
Result
Map
去重操作
MyBatis
Result
Map
去重操作
MyBatis
的
Result
Map
默认是把id作为
map
的主键,当id相同时,不管其他字段相不相同,它都当作相同的记录。去掉重复的数据。那当我们想要
MyBatis
不去重,在model定义中加入一个伪id作为一标识即可。 1. 在主表类(UserDistance.java)里 添加一个“伪列”,作用:不去重 2. Seat
Map
per.xml ...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章