`
lilylovezhuzi
  • 浏览: 18400 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

mybatis入门(三)---ResultMap

阅读更多

下面将介绍一个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中进行测试。

 

 
分享到:
评论

相关推荐

    01 MyBatis入门程序-资料

    在"01 MyBatis入门程序-资料"中,你将找到关于这些概念的详细解释、示例代码和实践指导,帮助你快速掌握MyBatis的基本用法和核心理念。通过学习和实践,你可以熟练地利用MyBatis进行数据库操作,提升开发效率。

    mybatis3--1.入门小练习

    通过这个入门小练习,你可以熟悉 MyBatis 的基本使用,理解其核心概念,并能动手实践,为后续更复杂的项目打下坚实的基础。在实践中,不断探索 MyBatis 的高级特性,如动态 SQL、缓存、插件等,将有助于提升你的开发...

    MyBatis-3.0.3-User-Guide.pdf

    #### 三、MyBatis简介与入门 - **MyBatis定义:** MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。 - **入门指南:** - *...

    MyBatis-3-User-Guide-Simplified-Chinese.pdf

    #### 三、构建`SqlSessionFactory` - **XML方式**: - 从XML文件构建`SqlSessionFactory`实例很简单。推荐使用类路径下的资源文件进行配置,但也可以使用任何`Reader`实例。 - MyBatis提供了工具类来方便地从类...

    mybatis-3-user-guide

    入门部分讲述了如何构建SqlSessionFactory,它是MyBatis应用程序的核心。可以通过SqlSessionFactoryBuilder构建SqlSessionFactory实例。这个构建器可以从XML配置文件或Configuration类的实例中获取。为了从XML构建...

    MyBatis入门到精通

    这篇“MyBatis入门到精通”的学习资料是针对初学者设计的,旨在帮助新手快速掌握MyBatis的基本用法和高级特性。 1. **MyBatis简介** MyBatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,消除...

    MyBatis-3-User-Guide-Simplified-Chinese

    入门 在 MyBatis 应用程序中,核心组件是 `SqlSessionFactory` 对象。`SqlSessionFactory` 可以通过 `SqlSessionFactoryBuilder` 构建出来,而后者可以从 XML 配置文件或预先配置好的 `Configuration` 类实例中...

    MyBatis-3-User-Guide用户手册(中文英文)

    什么是 MyBatis?\ 5 入门\ 5 从 XML 中构建 SqlSessionFactory \ 5 不使用 XML 构建 SqlSessionFactory\ 6 从 SqlSessionFactory 中获取 SqlSession\ 6 探究已映射的 SQL语句 \ 7 命名空间的一点注释 \ 8 ...

    MyBatis(1)--MyBatis入门示例

    在本入门示例中,我们将了解MyBatis的基本使用流程,包括环境搭建、配置文件解析、Mapper接口定义、SQL映射文件编写、数据访问对象(DAO)实现及事务管理等关键环节。 1. **环境搭建**:首先,你需要在项目中引入...

    MyBatis入门以及提高

    【MyBatis入门以及提高】 在Java EE框架中,MyBatis是一个广泛使用的持久层框架,它极大地简化了原生JDBC编程的繁琐过程。MyBatis的核心在于输入映射和输出映射,以及动态SQL,这些特性使得SQL的编写和维护变得更加...

    Mybatis 入门小例子

    以上就是Mybatis入门的基本内容,通过这个小例子,你可以理解Mybatis如何与数据库交互,如何定义和执行SQL,以及如何处理结果映射和事务管理。随着对Mybatis更深入的学习,你会发现它在实际项目中有着广泛的应用,能...

    Mybatis入门三天源码

    在三天的Mybatis入门学习过程中,主要涉及以下几个关键知识点: 1. **配置文件**:Mybatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含了数据库连接信息、映射文件位置、设置等重要信息。你需要理解...

    MyBatis-3文档整理.pdf

    - resultMap是MyBatis最强大的特性之一,用于描述如何将数据库结果映射到对象上。 7. 高级结果映射: - 支持复杂的高级映射,例如集合、关联、鉴别器等。 - 集合映射用于映射一对一或一对多关系。 - 关联映射...

    mybatis入门示例项目

    我们可以通过`@ResultMap`注解在DAO接口方法上,指定映射文件中的结果集配置,以便MyBatis能正确地将查询结果转换为Java对象。 8. 注解方式的映射:除了使用XML文件进行映射外,MyBatis也支持使用注解在Java类和...

    MyBatis入门到精通配套资源

    在`mapper.xml`文件中,`select`、`insert`、`update`、`delete`标签用于编写CRUD操作,而`resultMap`用于描述复杂的返回结果。 4. **动态SQL**:MyBatis支持动态SQL,通过`if`、`choose`(when/otherwise)、`...

    Mybatis入门JavaSE案例

    在这个"Mybatis入门JavaSE案例"中,我们将深入理解Mybatis的基本配置、DAO层的注解方式以及XML配置方式。 首先,让我们来了解Mybatis的配置过程。Mybatis的配置文件(mybatis-config.xml)是整个框架的入口,它包含...

    Mybatis入门资源

    "Mybatis学习(三)优化配置.docx"可能会讲解如何优化Mybatis的配置,以提升性能。这可能包括开启二级缓存、合理设置SQL缓存大小、避免全表扫描、减少未使用的Mapper配置等。理解这些优化策略对于大型项目至关重要,...

    第一个mybatis程序 mybatis入门

    【标题】"第一个mybatis程序 mybatis入门" 涉及到的是MyBatis框架的基础使用,这是一个轻量级的Java持久层框架,它简化了与数据库交互的过程,提供了强大的映射功能。以下是对MyBatis入门的详细解析: 1. **MyBatis...

    mybatis入门基础案例demo

    本入门基础案例 "mybatis入门基础案例demo" 是为了帮助初学者理解并掌握 MyBatis 的基本使用方法。在这个案例中,我们将涉及以下几个关键知识点: 1. **MyBatis 环境搭建**: - 首先需要在项目中引入 MyBatis 的 ...

Global site tag (gtag.js) - Google Analytics