在spring+mybatis开发中,经常会遇到需要子列表查询的时候,hibernate中对于级联查询应用得比较多,它本身自带的一对多,多对一等映射可以完整的实现级联。在mybatis中,没有级联的概念,但是可以利用集合来实现类似的功能。下面就来看下具体的用法。
这里以product产品为例。
一个产品可以包含多条评论。这时就可以利用mybatis中的集合来实现。
首先简历product的bean类
public class Product implements Serializable{
private static final long serialVersionUID = 1L;
private int id;
private int productTypeId;
private String name;
private String description;
private List<Comment> comments; //所以相关评论列表
。。。。//以下get set方法略
}
然后建立评论的bean类,这里省略。。。
下面就是在产品类的ProductMapper.xml中配置映射关系。
首先写个返回类型
<resultMap type="Product" id="result_product">
<result property="id" column="id"/>
<result property="productTypeId" column="product_type_id"/>
<collection property="comments" column="id" select="com.bjk.apes.dao.CommentMapper.getCommentByProductId"/>
</resultMap>
其中collection就表示返回的comment列表类型。
然后在select中键入这个resultMap
<select id="getProductById" resultMap="result_product" parameterType="String">
select *
from product
where id=#{id}
</select>
这样返回的product对象中就包含了所有的评论。是不是和hibernate一样方便啊。
分享到:
相关推荐
里面描述的了mybatis关联/级联的使用方法,还有常见的几种动态sql的使用方法 比如<if></if><where></where>
mybatis入门之1对1关联。案例中也由如何使用自定义typeHandler实现枚举类和数据库字典的转换
本博客有零基础入门MyBaits,欢迎关注
主要给大家介绍了关于Spring boot整合Mybatis实现级联一对多CRUD操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
本系统适合于刚刚学习springboot+mybatis的开发人员,内有多表联查,动态sql,批量删除。用mysql数据库
mybatis动态sql,动态sql解析引擎,类似mybatis动态sql的功能。 mybatis动态sql,动态sql解析引擎,类似mybatis动态sql的功能。mybatis动态sql,动态sql解析引擎,类似mybatis动态sql的功能。mybatis动态sql,...
主要介绍了MyBatis之自查询使用递归实现 N级联动效果,本文给大家分享两种实现方式,需要的的朋友参考下吧
mybatis简单使用mybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单使用demomybatis简单...
Mybatis的级联一对一,一对多,简单小例子。欢迎下载,保证可以运行出来。
创建数据库,创建一个客户表(customer), 包括客户id,姓名(name),年龄(age),职业(occupation)...应用Mybatis级联查询功能,根据客户id查询表记录信息映射到Customer类对象(包括id,姓名, 年龄,职业,卡号,卡级别)
05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能demo05实现mybatis简单crud功能...
springboot整合mybatis实现登录注册功能,springboot整合mybatis实现登录注册功能。
03实现mybatis的generator功能demo03实现mybatis的generator功能demo03实现mybatis的generator功能demo03实现mybatis的generator功能demo03实现mybatis的generator功能demo03实现mybatis的generator功能demo03实现...
主要介绍了MyBatis使用级联操作解决lombok构造方法识别失败问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
mybatis 对clob类型转换,解决clob类型数据插入数据库报异常问题
本文档主要讲解Spring与mybatis与jdbc结合使用的方法和例子。
使用SpringMVC mybatis写二级、三级联动,包含数据库
mybatis之动态SQL
这里所使用的开发环境是:IDEA、MySQL_8.0.17、Java8;其中用到了Druid数据库连接池。这个登录注册demo中,登录失败有两种情况:①账户不存在;②密码错误。注册失败的情况有三种:①账户为空;②密码为空;③账户已...
一般使用mybatis的环境,大多都是别人已经配置好的。直接用就好了,如何自己搭建呢?其实很简单。看官方的文档就可以解决了。主要为了学习mybatis最基础的配置。我文章中的方法不基于spring,一般很少会在真实项目中...