mybatis中resultmap和resulttype,mybatis result map

  mybatis中resultmap和resulttype,mybatis result map

  我们知道,mybatis框架存在持久化类对象映射,直接将查询到的结果封装到对象中给我们返回,但如果数据库的中的列和爪哇岛中类属性名就是不一致,或者如果我们实际返回的对象需要去关联其他的对象(也就是说,其他类的对象作为我们这个类的成员变量),那么这时候使用结果类型肯定是不行的

  这里我们则需要去定义结果图来完成我们的需求

  定义结果图的过程就是描述如何从数据库结果集中去加载对象

  结果图多用于多表查询间的映射关系,例如:

  我们以部门和员工为例,一个部门有多个员工,一个员工属于一个部门

  建立部门表和员工表

  创建表格部门(-部门表编码主键AUTO_INCREMENT,NAME VARCHAR(10))创建表员工(-员工表编码主键AUTO_INCREMENT,NAME VARCHAR(10),age INT,deptId INT)在爪哇岛中创建部门(部门)类和员工(员工)类

  公共类雇员{ //员工类私有整数id;私有字符串名称;私有整数年龄;//一个员工关联一个部门私人部门;public Integer getId(){ return id;} public void setId(Integer id){ this。id=id} public String getName(){ return name;} public void set name(String name){ this。name=名称;} public Integer getAge(){ return age;} public void setAge(整数年龄){这个。年龄=年龄;}公共部门获取部门(){返回部门;} public void set Dept(Dept Dept){ this。Dept=Dept} @将公共字符串重写为String(){ return Employee { id= id ,name= name ,age= age ,dept= dept }}公共类部门{私有整数id;私有字符串名称;//一个部门有多个员工,使用目录集合存储私人列表员工列表;public Integer getId(){ return id;} public void setId(Integer id){ this。id=id} public String getName(){ return name;} public void set name(String name){ this。name=名称;} public list employee getList(){ return list;} public void set list(列出员工列表){ this。list=list} @将公共字符串重写为String(){ return Dept { id= id ,name= name ,list= list }}首先我们查询员工,定义大刀层接口:

  公共接口员工道{ //查询所有员工列出雇员selectAllEmployee();}由于我们在对象中关联了其他对象,所以已经不是普通映射,这里我们定义结果图

  结果映射id=employeeMap type=Employee !-主键列- id column=id property=id/!-其他属性映射-result property= name column= ename /result property= age column= age /!-一对一关联-关联属性=dept javaType=Dept !-需要映射的对象属性-result property= name column= dname //association/result map SELECT id= SELECT all employee result map= employee SELECT e . id,e . name name,e.age,d . name dname FROM employee LEFT JOIN dept id=d . id/SELECT result map中的编号是唯一标识,相当于名字,类型类型是我们要返回的类型

  挑选中使用结果图,传入刚定义的编号即可

  这样在爪哇岛代码中我们就可以得到我们想要的映射格式

  查询部门:

  公共接口DeptDao { //查询部门列出部门select dept();}定义与使用结果图

  result map id= Dept map type= Dept id column= id property= id /result column= dname property= name /!- collection是一对多的,这里一个部门有多个员工-collection property= list Java type= list of type= Employee result property= name column= ename /collection/result map SELECT id= SELECT dept result map= dept map SELECT d . id,d.name dname,e . name name name name从dept d左侧加入Employee on d . id=e . dept d/SELECT here Java type我们选择list,因为列表集是用来存储多个员工信息的,of type是

  通过resultMap,我们可以得到想要的映射关系。

  关于mybatis对resultMap的定义和用法的深入讲解,本文到此为止。想了解更多关于mybatis resultMap的信息,请搜索之前关于热门IT的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: