mybatis 鉴别其_Mybatis学习笔记9 - 鉴别器discriminator
鉴别器:mybatis可以使用discriminator判断某列的值,然后根据某列的值改变封装行为。
示例如下:
DeptmentMapper接口定义:
package com.mybatis.dao;
import com.mybatis.bean.Department;
public interface DeptmentMapper {
public Department getDeptById(Integer id);
}
DeptmentMapper.xml文件定义:
/p>
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select id,dept_name departmentName from tbl_dept where id=#{id}
EmployeeMapper接口定义:
package com.mybatis.dao;
import com.mybatis.bean.Employee;
public interface EmployeeMapper {
public Employee getEmpByIdWithDept(Integer id);
}
EmployeeMapper.xml文件定义:
/p>
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
select="com.mybatis.dao.DeptmentMapper.getDeptById"
column="d_id">
select * from tbl_employee where id=#{id}
测试代码:
package com.mybatis.demo;
import com.mybatis.bean.Department;
import com.mybatis.bean.Employee;
import com.mybatis.dao.DeptmentMapper;
import com.mybatis.dao.EmployeeMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
public class MyTest {
public SqlSessionFactory getSqlSessionFactory() throws IOException {
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
return new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void testResultMap() throws IOException {
SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
SqlSession openSession = sqlSessionFactory.openSession(true);
try {
EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
Employee girl = mapper.getEmpByIdWithDept(1);
System.out.println(girl.getDept());
Employee boy = mapper.getEmpByIdWithDept(7);
System.out.println(boy.getDept());
} finally {
openSession.close();
}
}
}
mybatis 鉴别其_Mybatis学习笔记9 - 鉴别器discriminator相关推荐
- mybatis trim标签_MyBatis学习笔记
MyBatis开发文档: mybatis - MyBatis 3mybatis.org mapper接口开发的四个规范: XxxMapper.xml配置文件的名称命名空间值必须是mapper接口的全 ...
- mybatis 入门([尚硅谷]_张晓飞_Mybatis 学习笔记一)
目录 一.创建数据库 二.添加log4j日志 三.定义java类和配置xml 3.1 定义xml,xml 中的id作为操作sql的唯一标识 3.2 定义接口,接口方法作为操作sql 的唯一标识 一.创 ...
- 狂神说mysql笔记_Mybatis学习笔记(狂神说)
简介 分享自写源码和笔记 配置用的 jdk13.0.2 (jdk1.7以上均可) Maven 3.6.3 MySQL 5.7 (mysql5.6以上均可) 1. 配置 pom.xml xmlns:xs ...
- SpringBoot和MyBatis集成案例(学习笔记)
声明:本案例学习http://blog.csdn.net/je_ge,在此感谢je_ge提供的学习用的资料 1.项目目录结构 2.pom.xml的内容如下 <project xmlns=&quo ...
- mybatis 鉴别其_MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询
MyBatis之Mapper XML 文件详解(四)-JDBC 类型和嵌套查询 白玉 IT哈哈 支持的 JDBC 类型 为了未来的参考,MyBatis 通过包含的 jdbcType 枚举型,支持下面的 ...
- 条件筛选([尚硅谷]_张晓飞_Mybatis 学习笔记五)
目录 一.定义用户表 二.与数据库表对应的javabean 三.使用javabean对象作为查询条件 测试类 四.使用Map对象作为查询条件 五.mybatis的配置数据源 一.定义用户表 creat ...
- MyBatis学习笔记(二)根据配置文件优化
上一篇:MyBatis学习笔记(一)完整查询数据库流程+增删改查 mybatis_config.xml文件中可以包含以下部分 本文接下来的优化都是针对于mybatis_config.xml文件,并且每 ...
- mybatis学习笔记(13)-延迟加载
2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(13)-延迟加载 标签: mybatis [TOC] resultMap可以实现高级映射(使用asso ...
- mybatis学习笔记(7)-输出映射
2019独角兽企业重金招聘Python工程师标准>>> mybatis学习笔记(7)-输出映射 标签: mybatis [TOC] 本文主要讲解mybatis的输出映射. 输出映射有 ...
最新文章
- JS写的不咋地的碰撞检测
- CommonsMultipartFile 转为 File 类型
- Linux配置示例:配置java环境变量
- 献给老师,我的编程之路
- 美团O2O排序解决方案——线上篇
- 在SAP Cloud Platform ABAP编程环境里打印系统变量
- 织梦本地调试运行PHP不显示图片,织梦CMS手机端不显示图片的原因及解决方法!...
- 可以查杀计算机病毒的软件,怎样彻底查杀计算机病毒
- Ubuntu常用软件安装,持续更新中。。。
- 搜索神器Android,网盘搜索神器
- android tips 8 | mystra,Mystra是什么意思
- 计算机毕业设计太难做不出来怎么办?
- android高德方向,Android高德地图填坑
- 【分治】剑指 Offer 33. 二叉搜索树的后序遍历序列
- SwitchyOmega插件安装
- ERNIE,ERNIE2.0,Transformer-XL,XLNET
- pickle.load()和pickle.dump()
- ADI DSP的JTAG设计规范(提供JTAG标准设计原理图)
- 金盾视频播放器拦截的软件关键词和进程信息
- 升序降序图标显示html,表格升序降序.html
热门文章
- XReport报表工具技术白皮书
- 车牌识别EasyPR(5)——文字定位
- php自动验证,ThinkPHP 自动验证及验证规则详解
- vue 悬浮按钮组件_如何搭建和发布一个 Vue 组件库
- php字符集转换,php字符集转换
- 怎样安装android系统版本,Android 12公测版Beta 1现已推出,教你如何安装
- c语言最短延时程序,linux下写个C语言程序,要求有0.5微秒以下的延时,要怎样写...
- bootstrap 简介
- HDU 3641 Treasure Hunting(阶乘素因子分解+二分)
- Xcode6 管理provisioning profile