实例映射 java,mybatis输入映射和输出映射实例详解

输入映射

Mybatis支持输入

哪些类型

简单类型、POJO,HashMap,POJO的包装的类型。

需求:查询用户列表:已经下过订单男性用户,那么传入的参数包含用户信息(User)和订单信息(Order)

输出映射

resultType

(1)支持的类型

基本类型、pojo、hashMap

(2)输出是POJO和POJO列表问题

不管是输出是单个POJO,还是POJO列表,在Mapper.xml中resultType都是一样的,只是在Mapper接口中返回值类型不一样。

(3)使用条件

使用resultType进行输出映射的时候,只要查询出来的列名和POJO的属性名一致,该列才可以映射成功。

只要查询出来的列名和属性名有一个能对应的上,就会创建POJO对象。

如果查询出来的列名和属性名没有一个能对应上,就不会创建POJO对象。

bcb27eb4c457eeb84a54f5507f7def78.png

sqlMapconfig.xml核心配置文件

/p>

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

UserMapper .java

package com.sgl.demo5.mapper;

import com.sgl.demo5.pojo.User;

import com.sgl.demo5.vo.UserQueryVo;

import java.util.List;

public interface UserMapper {

// 根据返回类型选择selectOne或者selectList

public List findUserList(UserQueryVo userQueryVo);

}

UserMapper .xml

/p>

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

resultType="com.sgl.demo5.pojo.User">

select username,id from user where username like "%"#{user.username}"%" and sex=#{user.sex}

UserQueryVo .java

package com.sgl.demo5.vo;

import com.sgl.demo5.pojo.User;

public class UserQueryVo {

private User user;

public User getUser() {

return user;

}

public void setUser(User user) {

this.user = user;

}

}

Test1.java

package com.sgl.demo5.test;

import com.sgl.demo5.mapper.UserMapper;

import com.sgl.demo5.pojo.User;

import com.sgl.demo5.vo.UserQueryVo;

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 java.io.IOException;

import java.io.InputStream;

import java.util.List;

public class Test1 {

private SqlSessionFactory sqlSessionFactory;

@Before

public void fun0() throws IOException {

InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapconfig.xml");

this.sqlSessionFactory= new SqlSessionFactoryBuilder().build(resourceAsStream);

}

@Test

public void fun1()

{

SqlSession sqlSession = this.sqlSessionFactory.openSession();

UserMapper userMapper = sqlSession.getMapper( UserMapper.class );

UserQueryVo userQueryVo=new UserQueryVo();

User user=new User();

user.setUsername("小");

user.setSex("1");

userQueryVo.setUser(user);

List userList = userMapper.findUserList(userQueryVo);

for ( User u:userList

) {

System.out.println(u);

}

}

}

以上所述是小编给大家介绍的mybatis输入映射和输出映射详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值