mybatis 一对一与一对多collection和association的使用   在mybatis如何进行一对一.一对多的多表查询呢?这里用一个简单的例子说明. 一.一对一 1.association association通常用来映射一对一的关系,例如,有个类user,对应的实体类如下:(getter,setter方法省略) private String id;//主键 private String userName;//用户姓名 有个类Article,对应的实体类如下: private…
1.collection标签 说到mybatis的collection标签,我们肯定不陌生,可以通过它解决一对多的映射问题,举个例子一个用户对应多个系统权限,通过对用户表和权限表的关联查询我们可以得到好多条记录,但是用户信息这部分在多条记录中是重复的,只有权限不同,我们需要把这多条权限记录映射到这个用户之中,这个时候可以通过collection标签/association标签来解决(虽然assocation标签一般是解决一对一问题的,但它实际上也能实现我们的需求,可以通过后面的源码看出来) 1.…
collection与association标签的功能就是为了解决查询条件映射到一个类或一个集合上,适用于对于多对一,一对多的映射结果,现在我们就探究其具体使用吧. 环境搭建: 数据库搭建 CREATE TABLE teacher ( id ) NOT NULL, name ) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=INNODB DEFAULT CHARSET=utf8 , '秦老师'); CREATE TABLE student ( id ) NOT…
1.先说resultMap比较容易混淆的点, 2. Map结尾是映射,Type是类型  resultType 和restltMap restulyType: 1.对应的是java对象中的属性,大小写不敏感, 2.如果放的是java.lang.Map,key是查询语句的列名,value是查询的值,大小写敏感 resultMap:指的是定义好了的id的,是定义好的resyltType的引用 注意:用resultType的时候,要保证结果集的列名与java对象的属性相同,而resultMap则不用,而…
一.前言 MyBatis 创建时的一个思想是:数据库不可能永远是你所想或所需的那个样子. 我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样. 如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有. 而 ResultMap 就是 MyBatis 对这个问题的答案. 二.ResultMap 的属性列表 属性 描述 id 当前命名空间中的一个唯一标识,用于标识一个结果映射. type 类的完全限定名, 或者一个类型别名(关于内置的类型别名,可以参考…
<if>标签 1.判断非空或不等于 <if test="assessTypes!= null and assessTypes!='' "> AND FIND_IN_SET(t1.assess_type,#{assessTypes}) </if> 2.判断等于某个固定字符 <if test='rankWay=="byAssessDate" and isDesc=="1" '> ORDER BY t1.…
最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解使用association标签实现嵌套查询的方法. 1. 明确需求 仍然延用上篇博客中的需求:根据用户id查询用户信息的同时获取该用户的角色信息(假设一个员工只能拥有一个角色). 在上篇博客中,我们分别使用了3种方式来实现这个需求,但这3个需求都有一个共同点,就是我们使用了多表查询,即查询一次数据库就获取到我们想要的所有数据. 有…
bootstrap react https://segmentfault.com/a/1190000010383464 xml 中 < 转义 to thi tha <if test="pricehigh!=null"> and price < #{pricehigh,jdbcType=INTEGER} </if> MyBatis动态SQL之一使用 if 标签和 choose标签 <select id="getItems" p…
若想直接通过sql实现多级关联查询表结构得有2 个必不可少的字段:id ,parentId,levelId id:主键id, parentId:父id levelId:表示第几级(表本身关联查询的时候需要用到,不然会有重复数据) 利用mybatis collection 实现一对多关联查询 Dto:(一级) public class ProvinceInfoDTO implements Serializable { private String id; private String name;…
0. 标签顺序 Mybatis核心配置文件中有很多标签,它们谁谁写在前写在后其实是有顺序要求的: 从前到后: properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers? 像properties要在typeAliases之前,typeAliases要…