mybatis.net 多表联查

mybatis.net针对多表联查,其实不用讲联查出的所有的列全部做一个新的resultMap,我们完全可以通过集成关系来实现,真是上一次说的懒加载,在一定程度上可以提高其性能,但这并不是说懒加载性能一定就差,他有其自己的用途,比如我们只需要查询主表的一条记录,但是在从表中却有1000条记录,就比较适合用懒加载。

参见http://www.cnblogs.com/zuolijun/p/5443823.html

<resultMap id="teamMemberPermissionDoctor"  class="UseEntity.TeamMemberPermissionDoctor" extends="FullResultMap">
      <!--<result  property="doctors" lazyLoad="true" column="consultation_doctor_team_member_id"  select="t_c_doctor.QueryDoctorByTeamMemberId"/>-->
      <result  property="doctors"   resultMapping="t_c_doctor.FullResultMap" />
    </resultMap>

对懒加载文章中的映射做一次修改,注意新添加的代码

 <result  property="doctors"   resultMapping="t_c_doctor.FullResultMap" />

实体类TeamMemberPermissionDoctor,我们没有修改,doctors 可以是一个结合(注意是IList),也可以单个的实体对象

那么对应的select就是一个普通的join sql语句,运行结果争取

时间: 2024-12-29 17:55:55

mybatis.net 多表联查的相关文章

使用mybatis进行多表联查

一.使用mybatis的基本步骤 1.导入jar包 2.配置文件 3.使用配置文件完成操作 二.实战演习 需求:教师表里有教师id和教师姓名 学生表里有学生id,姓名,年龄,教师id 一个教师有多个学生,一个学生只有一个教师,现在需要显示学生表的学生信息和教师姓名 1.导入jar包 2.导入配置文件,mybatis和log4j都是写了一次以后随便用 这些都是写死了的,直接配好即可 三.开始多表联查 1.业务装配方式,分为两步, 1.1查询所有的学生, 1.2根据学生的tid得到教师的信息存入学生

使用Mybatis进行多表联查操作

(1)增加一个测试数据库shop_order,sql语句如下: CREATE DATABASE `shop_order`; USE `shop_order`; CREATE TABLE `t_user` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `username` VARCHAR(20) DEFAULT NULL, `password` VARCHAR(50) DEFAULT NULL, `sex` VARCHAR(2) DEFAULT NULL, `br

使用mybatis多表联查的时候结果异常及springmvc的理解

今天使用mybatis多表联查的时候,在dos窗口查询时可以出结果集,但是使用mybatis查询的时候最后返回的结果只有最后一个结果 然后研究了半天没弄出来,后来无意中发现添加了最外层从表的ID字段后结果就查出来了,由此可见,数据是由主键来区分的,当主键不在查询范围时,数据默认调用最后一条语句 另外使用springmvc时无法使用实例化service对象,会报空指针异常

MyBatis(四)关于多表联查 关联关系之一--------一对多(单条sql语句查询)

在MyBatis中,进行多表联查时关联关系主要有这几种:一对多,多对一,多对多,还有一种自关联 1.一对多:有两种方式 (1)用一条sql语句进行查询    (以查询部门和员工为案例) 首先创建实体类 package entity; import java.util.List; /** * Created by mycom on 2018/2/26. */ public class Dept {//部门 private Integer deptNo; private String deptNam

SpringBoot整合mybatis多表联查之数据库建表

1.各关联表尽量不要使用相同的字段.因为在多表联查时,如果出现相同的字段,数据库自动使这些相同字段的值相等. 比如说,订单表有一个表示订单状态的status字段,而它的外键关联的表car有一个表示车状态的status字段,这两个status表示的含义完全不一样,但因为两个status字段一样,数据库默认将他们的值相等,导致数据失真. 2.在mapper.xml文件中使用的sql语句,应先在数据库测试成功后才使用. 3.在运行整个项目之前,应先对各个mapper,service,controlle

五表联查sql和复选框 增删改查

这是五表联查的效果图,如果这个不明显,那么用添加说话 这样就明显了把 这个送餐时间和地点,都是一对多的,那么这个菜单就是多对多,其实对于老鸟来说没有什么大不了,但是对于新手,我希望还是可以有点帮助的,这个是用Mybatis写的 首先我们先把sql给贡献出来,或许有些丑,不过,这反正也是给自己写的随笔无所谓了 select a.*,b.fname from    (select a.*,c.aname from (select a.*,b.name tname from    t_order a,

MVC +EF+linq 多表联查

关于linq的多表联查效果的实现: 后台多表查询  内连接: SELECT [Extent2].[partID] AS [partID], [Extent1].[userName] AS [userName], [Extent3].[partName] AS [partName]FROM [dbo].[User] AS [Extent1]INNER JOIN [dbo].[User_partB] AS [Extent2] ON [Extent1].[userGUID] = [Extent2].[

CDH中,执行HIVE脚本表联查权限问题。。

文章来自http://www.cnblogs.com/hark0623/p/4174641.html 转发请注明 有时候执行表联查的时候总会出现没有权限写文件的情况. 这个时候使用sudo -H hive hive -e "select * from tbl1 join tbl2 on tbl1.field = tbl2.field"即可

Mybatis自动创建表/更新表结构

最近有小伙伴问我mybatis有没有自动创建表结构的功能,因为他们之前一直使用hibernate用习惯了,理所当然的认为,在实体类上配置下注解或者写写映射文件,系统启动后就可以自动创建表. 我只能很遗憾的告诉他,mybatis并没有这个功能,看他兴致阑珊的样子,我只能安慰他,就算没有这功能,我们可以自己开发啊~~ 所以就有了下面这套系统,已开源大家可以下来看看~~ Mybatis_BuildTable_V0.2 https://git.oschina.net/sunchenbin/Mybatis