mybatis传递pojo类学习

编写过程中报错
在这里插入图片描述
发现是mapper映射器给错地址
在这里插入图片描述
应该是com

首先是建立pojo类

    package com.sjq.mybatis.pojo;
    public class User implements Serializable{
	
    private static final long serialVersionUID = 1L;
    	private Integer id;
    	private String username;// 用户姓名
    	private String sex;// 性别
    	private Date birthday;// 生日
    	private String address;// 地址
    	
    	private List<Orders> ordersList;
    	
    	public List<Orders> getOrdersList() {
    		return ordersList;
    	}
    	public void setOrdersList(List<Orders> ordersList) {
    		this.ordersList = ordersList;
    	}
    	public Integer getId() {
    		return id;
    	}
    	public void setId(Integer id) {
    		this.id = id;
    	}
    	public String getUsername() {
    		return username;
    	}
    	public void setUsername(String username) {
    		this.username = username;
    	}
    	public String getSex() {
    		return sex;
    	}
    	public void setSex(String sex) {
    		this.sex = sex;
    	}
    	public Date getBirthday() {
    		return birthday;
    	}
    	public void setBirthday(Date birthday) {
    		this.birthday = birthday;
    	}
    	public String getAddress() {
    		return address;
    	}
    	public void setAddress(String address) {
    		this.address = address;
    	}
    	@Override
    	public String toString() {
    		return "User [id=" + id + ", username=" + username + ", sex=" + sex
    				+ ", birthday=" + birthday + ", address=" + address + "]";
    	}    
  
     }

package com.sjq.mybatis.pojo;

import java.util.List;

public class QueryVo {
	
	private static final long serialVersionUID = 1L;
	//
	private User user;
	
	List<Integer> idsList;
	
	Integer[] ids;
	
	
	public List<Integer> getIdsList() {
		return idsList;
	}
	public void setIdsList(List<Integer> idsList) {
		this.idsList = idsList;
	}
	public Integer[] getIds() {
		return ids;
	}
	public void setIds(Integer[] ids) {
		this.ids = ids;
	}
	public User getUser() {
		return user;
	}
	public void setUser(User user) {
		this.user = user;
	}

}

建立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 resource="db.properties">
		<property name="db.username" value="qweqe" />
	</properties>
  
  <typeAliases>
    <!-- mybatis自动扫描包中的po类,自动定义别名,别名是类名(首字母大写或小写都可以,一般用小写) -->
    <package name="com.sjq.mybatis.pojo"/>
</typeAliases>
  
  <environments default="development">
		<environment id="development">
			<!-- 配置JDBC事务控制,由mybatis进行管理 -->
			<transactionManager type="JDBC"></transactionManager>
			<!-- 配置数据源,采用mybatis连接池 -->
			<dataSource type="POOLED">
				<property name="driver" value="${db.driver}" />
				<property name="url" value="${db.url}" />
				<property name="username" value="${db.username}" />
				<property name="password" value="${db.password}" />
			</dataSource>
		</environment>
	</environments>

    <mappers>
       <package name="com.sjq.mybatis.mapper" />       
    </mappers>
    
</configuration>

其中别名这一块要百度一下
直接建立Mapper接口文件
在这里插入图片描述

<select id="findUserByQueryVo" parameterType="QueryVo" resultType="com.sjq.mybatis.pojo.User">
		select * from user where username like "%"#{user.username}"%"
	</select>

方法用来查询pojo类
public List<User> findUserByQueryVo(QueryVo vo);
最后test方法

public class MybatisMapperTest {
	@Test
	public void testMapper() throws Exception{
		String resource = "sqlMapConfig.xml";
		InputStream in = Resources.getResourceAsStream(resource);
		//创建SqlSessionFactory
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
		//创建SqlSession
		SqlSession sqlSession = sqlSessionFactory.openSession();

		//SqlSEssion帮我生成一个实现类  (给接口)
		UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
		QueryVo vo = new QueryVo();
		User user = new User();
		user.setUsername("五");
		vo.setUser(user);
		
		List<User> us = userMapper.findUserByQueryVo(vo);
		for (User u : us) {
			System.out.println(u);
			
		}
	}

}

运行结果
在这里插入图片描述
总结
开发中通过可以使用pojo传递查询条件。
查询条件可能是综合的查询条件,不仅包括用户查询条件还包括其它的查询条件(比如查询用户信息的时候,将用户购买商品信息也作为查询条件),这时可以使用包装对象传递输入参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值