MyBatis联合查询association使用】的更多相关文章

1.需求 两张表 channels(频道表)  member(会员表) 频道表里面有会员id,查询频道列表的时候需要关联查询出会员的名称,头像等信息 . 2.channels.xml定义,配置主要在这里 <!-- 频道返回值定义 --> <resultMap id="BaseResultMap" type="com.model.Channels" > <id column="id" property="id…
查询Emp的同时,查出emp对应的部门Department 方法1:联合查询,使用级联属性封装结果集 <!-- 联合查询,使用级联属性封装结果集 type:要自定义规则的javaBean类型 id:唯一标识,方便引用 column:指的是数据库表中的列名 property:列名对应的javaBean中的属性名称 --> <resultMap type="cn.bdqn.mybatis.been.Emp" id="myDifemp"> <…
先说下问题产生的背景: 最近在做一个用到MyBatis的项目,其中有个业务涉及到关联查询,我是将两个查询分开来写的,即嵌套查询,个人感觉这样更方便重用: 关联的查询使用到了动态sql,在执行查询时就出现了如下错误:Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'id' in 'class java.lang.Integer' 因为出现了这个问题,…
由于是练习,故只做了感兴趣的一部分测试. 测试类容XML配置转注解方式 实体类为了测试请忽略设计是否合理… User.java @Alias("User")public class User {    private Integer id;    private String username;    private String password;    private Timestamp birthday;    private Boolean sex;}12345678UserI…
Mybatis的简单联合查询操作: 实体类: Employee: package com.test.mybatis; public class Employee { private Integer id; private String lastName; private String email; private String gender; private Depart depart; public Integer getId() { return id; } public void setI…
一.背景 1.在系统中一个用户存在多个角色,那么如何在查询用户的信息时同时把他的角色信息查询出来啦? 2.用户pojo: public class SysUser { private Long id; private String userName; private String password; private String nickName; private String salt; private List<SysRole> roleList; 3.数据库 二.实现 如果一个对象中的属…
1.有学生实体 @Component @Scope("prototype") public class StudentInfo { private Integer studentId;//学号 private String studentName;//学生姓名 private String studentAccount;//学生账号 private String studentPwd;//学生密码 private ClassInfo classInfo;//所在班级 private G…
<resultMap id="DutyPersonAndFileAndScoreMap" type="com.cares.asis.duty.entity.DutyPersonAndFileAndScoreVO"> <id column="DUTY_ID" property="dutyId" jdbcType="DECIMAL" /> <association property…
公司业务需求要做个列表的排序 而实际排序的字段不再本库中,需要跨库去拿到字段,因为是微服务体系架构,不可能Left join跨库的表,所以决定调用一次跨服务的API拿到排序相关的对象,里面包含需要排序的列 一块拿到sql中进行排序(因为order by比较方便....) 然后开始出现了bug,我把跨服务拿到的对象存成List集合,需要在sql中左连接才能使用里面的字段,但是直接这样写就会出现bug: ScheduleDictionary left join (select O.Id AS Org…
下面是一个树形结构表自连接 联合查询 Demo <resultMap id="BaseResultMap"  type="com.maidan.daas.entity.AccoSysmanResource" >    <id column="pid" property="pid" jdbcType="INTEGER" />    <result column="cre…
在这篇文章里面主要讲解如何在mybatis里面使用一对一.一对多.多表联合查询(类似视图)操作的例子. 注:阅读本文前请先大概看一下之前两篇文章. 一.表结构 班级表class,学生表student,班级学生关系表ClassStudent. 这里一个学生只会在一个班级里面,也就是一对一的关系:一个班级有多个学生,也就是一对多的关系. 结构如下: CREATE TABLE [dbo].[Class]( [class_id] [int] NOT NULL, ) NOT NULL, CONSTRAIN…
一.先建立两个实体类和配置文件 配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <pr…
本文转自:http://www.cnblogs.com/xdp-gacl/p/4264440.html#!comments 一.一对一关联 1.1.提出需求 根据班级id查询班级信息(带老师的信息) 1.2.创建表和数据 创建一张教师表和班级表,这里我们假设一个老师只负责教一个班,那么老师和班级之间的关系就是一种一对一的关系. 1 CREATE TABLE teacher( 2 t_id INT PRIMARY KEY AUTO_INCREMENT, 3 t_name VARCHAR(20) 4…
什么是mybatisMyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:1. 从配置文件(通常是XML配置文件中)得到 sessio…
简介 MyBatis 提供了两种联合查询的方式,一种是嵌套查询,一种是嵌套结果.先说结论:在项目中不建议使用嵌套查询,会出现性能问题,可以使用嵌套结果. 测试类:com.yjw.demo.JointQueryTest,提供了对嵌套查询和嵌套结果的测试. 数据库表模型关系 学生信息级联模型关系:链接 学生信息级联模型关系是一个多种类型关联关系,包含了如下几种情况: 其中学生表是我们关注的中心,学生证表和它是一对一的关联关系: 而学生表和课程成绩表是一对多的关系,一个学生可能有多门课程: 课程表和课…
1. 疑问 在之前的章节中我们阐述了如何用Mybatis实现检查的查询,而我们实际的需求中,绝大部分查询都不只是针对单张数据表的简单查询,所以我们接下来要看一下Mybatis如何实现联合查询. 2. 数据库准备 --销售单表 CREATE TABLE tbSaleM ( ID ,), SaleDate DATETIME, --销售日期 ClientName ), --客户名称 AmountSum NUMERIC(,), --销售数量汇总 MoneySum NUMERIC(,), --销售金额汇总…
下面就来说一下 mybatis 是通过什么来实现多表联合查询的.首先看一下表关系,如图: 这 里,我已经搭好了开发的环境,用到的是 SpringMVC + Spring + MyBatis,当然,为了简单期间,你可以不用搭前端的框架,只使用 Spring + MyBatis 就可以,外加 junit 测试即可.环境我就不带大家搭了,这里只说涉及到联合查询的操作. 设计好表之后,我用到了 mybatis 的自动生成工具 mybatis generator 生成的实体类.mapper 接口.以及 m…
第一次学习Mybatis.net,在博客园也找到好多资料,但是在配置成功之后也遇到了一些问题,尤其是在动态SQl拼接时候,这里把遇到的问题还有自己写的一个Demo贴出来,希望能帮到新手,有不适合的地方也希望大家指出,大家互相学习,共同进步. 首先我们需要下载IBatisNet程序包,这里就不多说了 一.创建一个MVC4的Web应用程序,并引用我们下载的IBatisNet程序包中的IBatisNet.DataMapper.dll,这里我只引用了这一个,log4net我没有引用也没有配置使用,全部程…
MyBatis 多表联合查询,两张表中字段重复时,在配置文件中,sql语句联合查询时使用字段别名,resultMap中对应的column属性使用相应的别名: <resultMap type="Vote" id="VoteMapper"> <id column="id" property="id"/> <result column="theme" property="t…
Mybatis oracle多表联合查询分页数据重复的问题 多表联合查询分页获取数据时出现一个诡异的现象:数据总条数正确,但有些记录多了,有些记录却又少了甚至没了.针对这个问题找了好久,最后发现是由于多个排序字段不唯一,同样的排序顺序每次运行返回的结果顺序不一致,导致这样的现象出现. SELECT TEMP_.* FROM (select temp.*, ROWNUM ROWNUM_ from (SELECT t2.ID FROM tableA t, tableB t2 WHERE t.ID =…
这两天项目用到ibatis,碰到and or的联合查询,语句像这样的 select * from table where xxx = "xxx" and (xx1="xx1" or xx2="xx2") baidu跟google半天只找到一个手动写xml语句的,内容地址如下: http://lyfei022.blog.163.com/blog/static/82558312009313104138320/ 个人还是觉得不方便,于是去查mybati…
1.使用 resultMap 实现关联单个对象(联合查询方式) <resultMap type="Student" id="stuMap1"> <id column="sid" property="id"/> <result column="sname" property="name"/> <result column="age&quo…
mybatis example 使用AND 和OR 联合查询 ViewPsmsgconsultExample example=new ViewPsmsgconsultExample(); ViewPsmsgconsultExample.Criteria criteria=example.createCriteria(); criteria.andToidEqualTo(mctid); criteria.andStatusEqualTo("0"); ViewPsmsgconsultExa…
前言 在项目中经常会使用到一些简单的联合查询获取对应的数据信息,我们常规都是会根据对应的mapper接口写对应的mapper.xml的来通过对应的业务方法来调用获取,针对这一点本人感觉有点繁琐,就对@select注解联合查询进行探索和尝试,并将自己总结的分享给大家,有不到之处,敬请大家批评指正!!! pom.xml所用到依赖如下 <dependency> <groupId>org.springframework.boot</groupId> <artifactId…
//实体类package com.sk.skkill.entity; import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data; import java.io.Serializable;import java.util.Date;import java.util.List; @TableName("ord…
上一篇文章介绍了基于Mybatis对数据库的增.删.改.查.这一篇介绍下关联查询(join query). 三张表:user article blog 表的存储sql文件: /* Navicat MySQL Data Transfer Source Server : localhost Source Server Version : 50620 Source Host : localhost:3306 Source Database : mybatis Target Server Type :…
mybatis 查询思路 第一种思路: 1:先查询,编写查询语句: 2:查询出结果后,将ResultMap 进行拆分, 组合成想要的模型: 这种思路是将联合查询语句组合成一个ResultMap; <select id="selectBlog" parameterType="int" resultMap="blogResult"> select B.id as blog_id, B.title as blog_title, B.auth…
上一章节中我们已经完成了对单表的CRUD操作,接下来今天这一讲讲述的是关于Mybatis在多表查询时候的应用,毕竟实际业务中也是多表的联合查询比较多嘛~ 还记得最一开始我们新建过一张Website表吗,在那张表里有个VisitorId字段,表示访问者访问过哪些网站,现在我们先按照上一张中的要求把关于Website的JavaBean实体先建立出来. 还是在david.mybatis.model包下面新建一个Website类,用来持久化数据之用,重写下相应toString()方法,方便测试程序之用.…
关联有嵌套查询和嵌套结果两种方式,本文是按照嵌套结果这种方式来说明的 上一章介绍了多对一的关系,用到了<association></association>,这是一个复杂类型的关联.我们选择一个示例来回顾下,比如:一个博客有一个用户,关联映射就工作于这种结果之上.首先看下,我们在本文中要用到的表结构字段: 博客 blog : id title author_id 作者 author: id username password email bio favourite_section…
一.查询 员工(tbl_employee)时,关联 查询出 员工对于的部门信息 (tab1_dept),一对一查询,或者多对一查询 适用 emp bean里面 包含 部门bean dept属性对象 1.select 如下, <select id="getEmpAndDept" resultMap="MyDifEmp"> SELECT e.id id,e.last_name last_name,e.gender gender,e.d_id d_id, d.…