需求:获取指定用户的用户信息和地址列表 修改user实体类  添加集合的引用. /** * 根绝用户id,获取该角色下的地址信息 * @param userID * @return */ public User getUserListAddressByUserID(@Param("userID")Integer userID); <resultMap type="User" id="userAddressList"> <id p…
需求:查询数特定角色下的所有用户列表 首先需要在在User类中引用Role类,因为引用了复杂的数据类型,所以要使用association属性进行映射,其实起主要作用的还是resultMap属性. /** * 根绝用户的角色id,获取该角色下的所有用户的信息 * @param roleid * @return */ public List<User> getUserListByRoleID(@Param("userRole1") Integer roleid); <re…
http://blog.csdn.net/yerenyuan_pku/article/details/71894172 在实际开发中我们不可能只是对单表进行操作,必然要操作多表,本文就来讲解多表操作中的一对一关联映射和一对多(或多对一)关联映射,至于多对多关联映射实质上也是两个一对多(或多对一)关联映射,所以在这里我并不打算讲解.先从一对一关联映射讲起.本文案例代码的编写是建立在前文MyBatis框架的学习(四)——Mapper.xml文件中的输入和输出映射以及动态sql案例基础之上的! 一对一…
使用resultMap实现高级结果映射 resultMap的属性: 1.属性 id:resultMap的唯一标识.type:resulMap的映射结果类型(一般为Java实体类).2.子节点 id:一般对应数据库的主键 id,设置此项可以提升数据库性能.result:映射到JavaBean的某个 “ 简单类型 ” 属性,如基础数据类型,包装类等.子节点 id 和 result 均可以实现最基本的结果集映射,将列映射到简单数据类型的属性..这两者唯一不同的是:在比较对象实例时 id 将作为结果集的…
MyBatis的创建基于这样一个思想:数据库并不是您想怎样就怎样的.虽然我们希望所有的数据库遵守第三范式或BCNF(修正的第三范式),但它们不是.如果有一个数据库能够完美映射到所有应用程序,也将是非常棒的,但也没有.结果集映射就是MyBatis为解决这些问题而提供的解决方案.例如,我们如何映射下面这条语句? <select id="selectBlog_by_id" parameterType="int" resultMap="Blog_result…
resultMap的属性: 1.属性 id:resultMap的唯一标识.type:resulMap的映射结果类型(一般为Java实体类).2.子节点 id:一般对应数据库的主键 id,设置此项可以提升数据库性能.result:映射到JavaBean的某个 “ 简单类型 ” 属性,如基础数据类型,包装类等.子节点 id 和 result 均可以实现最基本的结果集映射,将列映射到简单数据类型的属性..这两者唯一不同的是:在比较对象实例时 id 将作为结果集的标识属性.这有助于提高总体性能,特别是应…
本文是按照狂神说的教学视频学习的笔记,强力推荐,教学深入浅出一遍就懂!b站搜索狂神说或点击下面链接 https://space.bilibili.com/95256449?spm_id_from=333.788.b_765f7570696e666f.2 联表查询 环境准备 两个很简单的表,学生表记录了老师的pk 零.简单的联表查询 以下两个实体类,学生表记录了老师的pk---->Teacher的id是Student的tid. //省略了无参.有参构造.get.set.重写toString pub…
本篇主要介绍mybatis反射工具中用到的三个属性工具类:PropertyTokenizer.PropertyNamer.PropertyCopier. PropertyTokenizer: 主要用来解析Mybatis使用过程中遇到的类似"order[0].items[0].name"这种由"."和"[ ]"组成的表达式: public class PropertyTokenizer implements Iterator<Property…
使用MyBatis实现条件查询 1.SQL映射文件: MyBatis真正的强大之处就在于SQL映射语句,MyBatis专注于SQL,对于开发人员来说也是极大限度的进行SQL调优,以保证性能.下面是SQL映射文件的几个顶级元素的配置: 1.mapper:映射文件的根节点,只有一个属性namespace(命名空间),作用如下: (1)用于区分不同的mapper,全局唯一. (2)绑定DAO接口,即面向接口编程,当绑定一个接口,就不用写此接口的实现类,会通过接口的完全限定名找到对应的mapper配置来…
6      输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 6.1.1     需求 完成用户信息的综合查询,需要传入查询条件很复杂(可能包括用户信息.其它信息,比如商品.订单的) 6.1.2     定义包装类型pojo 针对上边需求,建议使用自定义的包装类型的pojo.在包装类型的pojo中将复杂的查询条件包装进去. 6.1.3     mapper.xml 在UserMapper.xml中定义用户信息综合查询(查询条件…