columnPrefix用法
如果使用了 columnPrefix 属性,可以省略 result 标签中的 column 属性,并且 MyBatis 会自动完成属性与列名之间的映射。
(资料图片仅供参考)
改用
columnPrefix前缀写法简化代码,使用使用时,多使用表别名作为列前缀,例如columnPrefix="r."
mybatis 官方文档
实体类
public class User {
private Integer id;
private String name;
private Integer age;
private List orders;
// 省略 getter 和 setter 方法
}
public class Order {
private Integer id;
private String orderNo;
private Date createTime;
// 省略 getter 和 setter 方法
}
可结合
columnPrefix、resultMap使用
Mybatis XML
嵌套查询支持惰性加载,可通过设置
fetchType调整集合加载方式,默认值为“lazy”,可选值为“eager”。
上面讲到指定
select嵌套sql时,需要指定column="id",如果内层SQL需要传入多个参数时,可采用如下方式
public class OrderQuery {
private Long userId; // 用户id
private Integer status; // 订单状态
// getter和setter方法
}association一对一属性处理
上面介绍一对多查询列表属性处理,其实association更常用于一对一属性的处理上
package com.example;
public class Order {
private int orderId;
private String orderName;
private Customer customer;
// getters and setters for orderId, orderName, customer
}
package com.example;
public class Customer {
private int customerId;
private String customerName;
// getters and setters for customerId, customerName
}
在这个例子中,Order类有一个Customer属性,我们使用Association关联对象将query出的Customer映射到Order对象的Customer属性上。
需要注意的是,Association也可以嵌套使用,我们可以通过多层Association实现多个对象之间的关联。此外,需要注意的是,在映射关联对象Association时要确保SQL语句中的JOIN操作正确无误。
到此这篇关于Mybatis一对多查询列表属性处理的文章就介绍到这了,更多相关Mybatis一对多查询列表属性内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
下一篇:最后一页
X 关闭
Copyright © 2015-2022 太平洋母婴网版权所有 备案号:豫ICP备2022016495号-17 联系邮箱:93 96 74 66 9@qq.com