如何使用MyBatis框架进行单参数和多参数j(传入参数是String/自定义对象/Map)的模糊查询?

getUserByName

	//单参数模糊查询
	public List<User> getUserListName(String userName);
	
	//多参数模糊查询
	public List<User> getUserLists(User user);
	
	//多参数模糊查询(map入参)
	public List<User> getUserListMap(Map<String,String> userMap);

UserMapper.xml

	<!-- 模糊查询  单参数 -->
	<select id="getUserListName" parameterType="String" resultType="User">
	    select * from smbms_user 
	    where userName like CONCAT('%',#{userName},'%')

	</select>
	
	<!-- 模糊查询  多个参数:使用对象 -->
	<select id="getUserLists" resultType="User" parameterType="User">
	     select * from smbms_user
	     where userName like CONCAT('%',#{userName},'%') AND userRole=#{userRole}
	</select>
	
	<!-- 模糊查询  多个参数:使用Map集合 -->
	
	<select id="getUserListMap" resultType="User" parameterType="Map">
	         select * from smbms_user
	     where userName like CONCAT('%',#{uName},'%') AND userRole=#{uRole}
	
	</select>

使用map集合的测试类

 @Test
 		public void test7() {
 		   
 		  List<User> userList=new ArrayList<User>();
 		    SqlSession sqlSession=null;
 		    try {
 				sqlSession=MyBatisUtil.createSqlSession();
 				Map<String,String>userMap=new HashMap<String,String>();
 				userMap.put("uName", "赵");//key 要和 sql映射xml中的保持一致
 				userMap.put("uRole", "3");
 				userList=sqlSession.getMapper(UserMapper.class).getUserListMap(userMap);
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
 				e.printStackTrace();
 			}finally{
 				MyBatisUtil.closeSqlSession(sqlSession);
 			}
 		    
 		    for(User user :userList){
 		    	System.out.println(user.getUserCode()+"----"+user.getUserName()+"----"+user.getUserRole());
 		    }
 	    }

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟空非空也

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值