14Mybatis_输入映射(传递pojo的包装对象)——很重要
假设我们有这么一个需求:用户信息的综合查询,需要传入的查询条件很复杂(可能包括用户信息,其他的信息,比如商品,订单)
我们的思想是:传入到select中的parameterType是一个包装类,里面可以有很多的东西。
我们已经有一个user.java po类了,但我们查询的条件可能是比user这个类更复杂的。我们为了方便扩展就要延伸出一个userCustom extend user 这么一个类。
案例如下:
先给出案例结构:
aaarticlea/png;base64,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" alt="" />
上面的案例说明如下:SqlMapConfig.xml是总的配置文件。mapper/userMapper.xml是这个案例的配置文件。User.java是针对数据库的实体类。UserCustom.java是User.java的实现类。UserQueryVo.java是包装类。userMapper.java是Mapper接口类。Mybatis_mappertest.java是测试代码。
第一步:
SqlMapConfig.xml代码如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration> <!-- properties的配置必须写在typeAliases的上面 -->
<properties resource="db.properties"></properties> <!-- 配置别名 -->
<typeAliases>
<!-- 针对别名定义
type:类型的路径
alias:别名
-->
<typeAlias type="cn.itcast.mybatis.po.User" alias="user"/>
</typeAliases> <!-- 和spring整合后 environments配置将废除-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理-->
<transactionManager type="JDBC" />
<!-- 数据库连接池-->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</dataSource>
</environment>
</environments> <!-- 把映射文件(sqlmap/user.xml)加载进sqlMapConfig.xml-->
<mappers> <!-- 把mapper.xml加载进sqlMapConfig.xml-->
<!--
遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致
且在一个目录中。
当着这个规范的前提是:使用mapper代理方法。 -->
<mapper resource="mapper/userMapper.xml"/> </mappers> </configuration>
第二步:
<?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">
<!-- nanmespace:命名空间。 作用就是对sql进行分类话管理,理解Sal分离 注意:使用mapper代理方式,namespace有特殊重要的作用
--> <mapper namespace="cn.itcast.mybatis.mapper.userMapper"> <!--
这里的id要和Mapp接口里面的函数名字一模一样。parameterType表示输入的类型,
resultType表示输出的类型。
UserQueryVo里面有一个UserCustom, #{userCustom.sex} 里面写的是UserQueryVo里面的属性(userCustom)的属性(sex)
-->
<select id="findUserList" parameterType="cn.itcast.mybatis.po.UserQueryVo" resultType="cn.itcast.mybatis.po.UserCustom">
SELECT * FROM USER WHERE user.sex= #{userCustom.sex} AND user.username=#{userCustom.username}
</select> </mapper>
第三步:
User.java代码和UserCustom.java:
package cn.itcast.mybatis.po; import java.util.Date; public class User {
private int id;//主键
private String username;//用户的名称
private Date birthday;//生日
private String sex;//性别
private String address;//地址
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
} }
package cn.itcast.mybatis.po; public class UserCustom extends User { }
第四步:写UserQueryVo.java包装类
package cn.itcast.mybatis.po; public class UserQueryVo {
//用户的查询条件
private UserCustom userCustom; public UserCustom getUserCustom() {
return userCustom;
} public void setUserCustom(UserCustom userCustom) {
this.userCustom = userCustom;
} }
第五步:userMapper.java是Mapper接口类
package cn.itcast.mybatis.mapper; import java.util.List; import cn.itcast.mybatis.po.User;
import cn.itcast.mybatis.po.UserCustom;
import cn.itcast.mybatis.po.UserQueryVo; public interface userMapper {
//这个名字(findUserById)和UserMapper.xml里面的id要一模一样
//注意这里写的是返回的List.这样代码内部就会调用selectList,但是在userMapper.xml中要写的是
//resultType="cn.itcast.mybatis.po.User"
/*
*
<select id="findUserList" parameterType="cn.itcast.mybatis.po.UserQueryVo" resultType="cn.itcast.mybatis.po.UserCustom">
SELECT * FROM USER WHERE user.sex= #{userCustom.sex} AND user.username=#{userCustom.username}
</select>
*
*
*/
public List<UserCustom> findUserList(UserQueryVo userQueryVo);
}
第六步:
编写Mybatis_mappertest.java测试代码。
package cn.itcast.mybatis.first; import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.List; 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.Before;
import org.junit.Test; import cn.itcast.mybatis.Dao.UserMapper;
import cn.itcast.mybatis.mapper.userMapper;
import cn.itcast.mybatis.po.User;
import cn.itcast.mybatis.po.UserCustom;
import cn.itcast.mybatis.po.UserQueryVo; public class Mybatis_mappertest { private SqlSessionFactory sqlSessionFactory;
@Before
public void setup() throws IOException
{ String resource="SqlMapConfig.xml";
InputStream inputStream= Resources.getResourceAsStream(resource);
//主要是生成SqlsessionFactory。
this.sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void testMaper()
{
SqlSession sqlSession=null; sqlSession=sqlSessionFactory.openSession();
//生成代理类
userMapper userMapper=sqlSession.getMapper(userMapper.class);
//创建包装对象,设置查询条件
UserQueryVo userQueryVo=new UserQueryVo();
UserCustom userCustom=new UserCustom(); userCustom.setSex("1");
userCustom.setUsername("王");
//给包装类设置设置查询条件
userQueryVo.setUserCustom(userCustom); userMapper.findUserList(userQueryVo); } }
结果:运行正常。
14Mybatis_输入映射(传递pojo的包装对象)——很重要的更多相关文章
- mybatis由浅入深day01_ 7输入映射(7.1传递pojo的包装对象_7.2#{}与${}_7.3传递简单类型_7.4传递pojo对象_7.5传递hashmap)
7 输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 7.1 传递pojo的包装对象 7.1.1 需求 完成用户信息的综合查询,需要 ...
- mybatis入门基础(四)----输入映射和输出映射
一:输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 1.1.传递pojo的包装对象 1.1.1.需求描述 完成用户信息的综合查询, ...
- 【mybatis深度历险系列】mybatis中的输入映射和输出映射
在前面的博文中,小编介绍了mybatis的框架原理以及入门程序,还有mybatis中开发到的两种方法,原始开发dao的方法和mapper代理方法,今天博文,我们来继续学习mybatis中的相关知识,随 ...
- Mybatis学习(4)输入映射、输出映射、动态sql
一.输入映射: 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型 1) 传递pojo的包装对象 需求是:完成用户信息的综合查询,传入的查询条件复 ...
- (七)mybatis 的输入映射与输出映射
目录 前言 输入映射 - - 传递 pojo 包装类型 (复杂查询 ) 输出映射 - - resultType 输出映射 - - resultMap 前言 通过 paramterType 指定输入参数 ...
- mybatis基础系列(二)——基础语法、别名、输入映射、输出映射
增删改查 mapper根节点及其子节点 mybatis框架需要读取映射文件创建会话工厂,映射文件是以<mapper>作为根节点,在根节点中支持9个元素,分别为insert.update.d ...
- 【MyBatis学习06】输入映射和输出映射
在前面几篇博文的例子中也可以看到mybatis中输入映射和输出映射的身影,但是没有系统的总结一下,这篇博客主要对这两个东东做一个总结.我们知道mybatis中输入映射和输出映射可以是基本数据类型.ha ...
- Spring+SpringMVC+MyBatis深入学习及搭建(四)——MyBatis输入映射与输出映射
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/6878529.html 前面有讲到Spring+SpringMVC+MyBatis深入学习及搭建(三)——My ...
- Mybatis输入映射和输出映射
本节内容: 输入参数映射 输出映射 resultMap Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. 一.环境准备 复制 ...
随机推荐
- 解决SharePoint 文档库itemadded eventhandler导致的上传完成后,编辑页面保持报错的问题,错误信息为“该文档已经被编辑过 the file has been modified by...”
在文档库中添加itemadded 后,在上传文件后,会自动打开文档属性的编辑页面,在保存的时候就会报错,说这个文档已经被编辑过了.这是应为默认itemadded实践是异步执行的,会在edit页面打开之 ...
- Git使用ssh key
生成ssh key步骤 这里以配置github的ssh key为例: 1. 配置git用户名和邮箱 git config user.name "用户名" git config us ...
- Android表单UI及相应控件的事件处理
一.Toast Toast是一种轻量级的提示工具,可显示一行文本对用户的操作进行提示响应 用法:Toast.makeText(context,text,time).show(); context:上下 ...
- App开发流程之数据持久化和编译静态链接库
先记录数据持久化. iOS客户端提供的常用数据持久化方案:NSUserDefaults代表的用户设置,NSKeydArchiver代表的归档,plist文件存储,SQLite数据库(包括上层使用的Co ...
- MyBatis入门(三)---多个参数
一.建立表 1.1.建立表,并插入数据 /* SQLyog Enterprise v12.09 (64 bit) MySQL - 5.6.27-log : Database - mybatis *** ...
- Python学习二---字符串
一.字符串 1.1.字符串和转义字符 转义字符需要使用\来表示 1.2.字符串连接 print 字符串1 字符串2,打印出来的字符串直接连接在一起没有空格 print 字符串1,字符串2,打印出来的字 ...
- svn错误
在myEclipse客户端第一次连到SVN时,如:svn://192.168.20.242/MyProject1,然后要求输入用户名和密码.如果用户名和密码输入出错了,强行确定后.问题来了!会出现,以 ...
- .NET 创建Windows服务,及服务的安装卸载
.NET服务创建过程 http://jingyan.baidu.com/article/fa4125acb71a8628ac709226.html 相关命令(要以管理员身份打开cmd) 安装服务 -& ...
- MFC Grid control 2.27
原文链接地址:http://www.codeproject.com/Articles/8/MFC-Grid-control MFCGridCtrl是个强大的类,用于数据的表格显示. 1.类特征 Cel ...
- hbase shell 常用命令
进入hbase shell console$HBASE_HOME/bin/hbase shell如果有kerberos认证,需要事先使用相应的keytab进行一下认证(使用kinit命令),认证成功之 ...