下面将介绍一个resultMap最基本的用法-----一对一/has a 关系
承接上篇文章
1.新建表t_dept,并修改表t_user.建表语句如下
create table t_dept (deptno varchar2(11),deptname varchar2(22)); alter table t_dept add constraints pk_deptno primary key(deptno); alter table t_user add(deptno varchar2(11)); insert into t_dept values('1111','dept1'); update t_user set deptno = '1111';
2.添加实体类Dept.java
package com.mybatis.test.vo; public class Dept { private String deptNo; private String deptName; public Dept() { super(); } public String getDeptNo() { return deptNo; } public void setDeptNo(String deptNo) { this.deptNo = deptNo; } public String getDeptName() { return deptName; } public void setDeptName(String deptName) { this.deptName = deptName; } public String toString() { return " deptNo is: "+deptNo+" deptName is: "+deptName; } }
3.修改User.java
在User类中添加对象Dept dept;
4 修改User.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="User"> <resultMap type="User" id="userResult"> <id property="id" column="user_id" /> <result property="userName" column="user_name" /> <association property="dept" column="user_dept_no" javaType="Dept"> <id property="deptNo" column="dept_no" /> <result property="deptName" column="dept_name" /> </association> </resultMap> <select id="select1" parameterType="int" resultMap="userResult"> select u.id as user_id, u.username as user_name, u.deptno as user_dept_no, d.deptno as dept_no, d.deptname as dept_name from t_user u,t_dept d where u.deptno = d.deptno and u.id = #{id} </select> </mapper>
上述配置文件中resultMap中使用了<association>标签来实现关联。
5.在UserDAO类中加入以下方法:
public User getUserAndDept(int id) { SqlSession session = sqlSessionFactory.openSession(); try { User user = (User) session.selectOne("User.select1", id); return user; } finally { session.close(); } }
6.在test中进行测试。
相关推荐
什么是 MyBatis?\ 5 入门\ 5 从 XML 中构建 SqlSessionFactory \ 5 不使用 XML 构建 SqlSessionFactory\ 6 从 SqlSessionFactory 中获取 SqlSession\ 6 探究已映射的 SQL语句 \ 7 命名空间的一点注释 \ 8 ...
Mybatis介绍、单独使用jdbc编程问题总结、Mybatis架构、Mybatis入门程序、Mybatis开发Dao、SqlMapConfig.xml配置、ParameterType输入映射、ResultType及ResultMap输出映射、动态sql、商品订单数据模型、关联查询(一...
mybatis入门demo resultMap |OR "> !=null">username=#{userName},</if>
mybatis实战教程mybatis in action之三实现数据的增删改查 mybatis实战教程mybatis in action之四实现关联数据的查询 mybatis实战教程mybatis in action之五与spring3集成附源码 mybatis实战教程mybatis in action之...
1 Mybatis入门 1 1.1 单独使用jdbc编程问题总结 1 1.1.1 jdbc程序 1 1.1.2 jdbc编程步骤: 2 1.1.3 jdbc问题总结如下: 3 1.2 MyBatis介绍 3 1.3 Mybatis架构 3 1.4 mybatis下载 4 1.5 创建mysql数据库 5 1.6 ...
MyBatis是Java开发中重要的实体层技术,课程通过实战项目全面完整讲解各种技术的使用技巧,掌握MyBatis基本配置,增删改查,注解,resultMap,一对一,一对多等各种复杂配置,掌握if,choose,where,set,foreach,分页...
什么是MyBatis?............................................................................................................. 5 入门........................................................................
一、课程简介 『Java学习指南系列』的第21篇教程 ,MyBatis 篇...〖Java学习指南系列〗:包含入门与进阶语法,Swing桌面开发,安卓开发,JavaFX开发,网络通信Socket,数据结构与算法等课程。 〖网站开发系列〗:包
什么是MyBatis?............................................................................................................. 5 入门........................................................................
之parameters和@Param注解,MyBatis映射文件的resultMap的使用,MyBatis映射之association(一对一)配置与使用,MyBatis映射之collection(一对多)配置与使用,MyBatis映射之association与collection的复杂使用...