<resultMap type="com.asiainfo.channel.model.weeklyNewspaper.WorkReportInfo" id="WorkReportInfoMap"> <result property="reportId" column="report_id" /> <result property="reportType" column=&qu…
一对一查询 需求 查询订单信息关联查询用户信息 sql语句 /*通过orders关联查询用户使用user_id一个外键,只能关联查询出一条用户记录就可以使用内连接*/ SELECT orders.*,user.username,user.sex FROM orders,USER WHERE orders.user_id = user.id 使用resultType实现 一对一查询映射的pojo 创建pojo包括 订单信息和用户信息,resultType才可以完成映射.创建OrderCustom作…
1. 学习计划 1.输入映射和输出映射 a) 输入参数映射 b) 返回值映射 2.动态sql a) If标签 b) Where标签 c) Sql片段 d) Foreach标签 3.关联查询 a) 一对一关联 b) 一对多关联 4.Mybatis整合spring a) 如何整合spring b) 使用原始的方式开发dao c) 使用Mapper接口动态代理 5.Mybatis逆向工程(掌握) 2. 输入映射和输出映射 Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个stat…
输入映射和输出映射 Mapper.xml映射文件定义了操作数据库的sql,每一个sql是一个statement,映射文件是mybatis的核心. parameterType输入类型 1.传递简单类型 Integer.String 使用#{}占位符 | ${}拼接字符 parameterType="Integer" parameterType="String" 2.传递pojo对象 Product类 parameterType="com.bean.Produ…
Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象:数据总条数正确,但有些记录多了,有些记录却又少了甚至没了.针对这个问题找了好久,最后发现是由于多个排序字段不唯一,同样的排序顺序每次运行返回的结果顺序不一致,导致这样的现象出现. SELECT TEMP_.* FROM (select temp.*, ROWNUM ROWNUM_ from (SELECT t2.ID FROM tableA t, tableB t2 WHERE t.ID =…
3 一对多查询 3.1 需求(查询订单及订单明细的信息) 查询订单及订单明细的信息. 3.2 sql语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关联即可. SELECT orders.*, USER.username, USER.sex, USER.address, orderdetail.id orderdetail_id, orderdetail.items_id, orderdetail.items_num, orderdetail.orders…
在实际的开发中我们经常用到的是一对一查询和一对多查询.而多对多的实现是通过中间来实现,这里就没有给出来了 比如: 订单和用户是一对一的关系(一个订单只能对应一个用户) 订单和订单明细是一对多的关系(一个订单可以对应多个订单明细) 程序结构图: 所采用的mybatis版本3.2.3 对应的jar包如下图所示 对应库表的信息 用户表: 订单表: 订单明细表: 对应的实体类的信息 用户实体类: 用户扩展实体类: 订单实体类: 订单明细实体类: =============================…
在做 mybatis 一对多查询的时候, resultMap 里面用到了集合标签 collection ,后来发现 当该条数据没有子集的时候, collection 会自动创建一个属性都是null的对象. 比如: Teacher —对应多个— Student 那么Teacher 里面应该有个 List<Student> studentList 对象,但是如果有一个Teacher里面没有Student的话,用collection会返回一个 属性都是null 的Student对象放在List里面.…
pom.xml: <!-- 链接:https://pan.baidu.com/s/1agHs5vWeXf90r3OEeVGniw 提取码:wsgm --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc8</artifactId> <version>12.2.0.1</version> </dependency> <de…
一对多查询:一个年级对应多个学生,现在要查询年级(带学生)信息. 查询结果: [main] INFO com.java1234.service.GradeTest - 查询年级(带学生)[main] INFO com.java1234.service.GradeTest - Grade [id=2, gradeName=大学二年级, students=null] 查到多方都是null,原来虽然在GradeMapper里声明了方法返回结果是Grade类型(如下图): 但是映射文件如果也写Grade…