mybatis Criteria的使用

本文详细介绍了一种使用MyBatis进行复杂条件筛选的方法,包括如何通过EmployeeExample对象结合criteria实现对员工信息的精确查找,具体涉及名字中包含特定字母且性别为男性的员工,以及email地址中包含特定数字的员工。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查询名字中带有字母 r ,性别为男性(1)或者email中带有数字1的人员信息

@Test
	public void test1() throws IOException {
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
		SqlSession openSession = sqlSessionFactory.openSession(true);
		try {
			EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
//			List<Employee> selectAll = mapper.selectByExample(null);
			EmployeeExample example = new  EmployeeExample();
			Criteria criteria = example.createCriteria();
			criteria.andNameLike("%r%");
			criteria.andGenderEqualTo("1");
			Criteria criteria2 = example.createCriteria();
			criteria2.andEmailLike("%1%");
			example.or(criteria2);
			List<Employee> select = mapper.selectByExample(example);
			for(Employee employee :select) {
			System.out.println(employee.getName()+employee.getEmail());
			}
		}finally {
			openSession.close();
		}
	}

 

 

1.先实例化一个EmployeeExample对象

2.调用createCriteria()方法

3.criteria.andNameLike("%r%");   criteria.andGenderEqualTo("1");查询名字中带有字母 r ,性别为男性(1)之间是and关系

4.Criteria criteria2 = example.createCriteria();   criteria2.andEmailLike("%1%"); example.or(criteria2);查询email中带有数字1,并且已第一个criteria为基准与其进行or运算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值