mybatis-parameterType传入map条件方式
作者:冰雪奇缘lb
这篇文章主要介绍了mybatis-parameterType传入map条件方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
mybatis parameterType传入map条件
mapper类(dao层)
package com.gyf.mapper; import com.gyf.model.User; import com.gyf.vo.UserQueryVO; import java.util.List; import java.util.Map; public interface UserMapper { public List<User> findUserByMap(Map<String, Object> map); }
userMapper.xml配置文件
<?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"> <mapper namespace="com.gyf.mapper.UserMapper"> <select id="findUserByMap" parameterType="hashmap" resultType="user"> SELECT u.* FROM user u WHERE username like '%${username}%' and sex = #{sex} </select> </mapper>
测试类
package com.gyf.test; import com.gyf.mapper.UserMapper; import com.gyf.model.User; import com.gyf.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.After; import org.junit.Before; import org.junit.Test; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.List; import java.util.Map; public class Demo05 { SqlSession session; @Before public void before() throws IOException { //读取配置文件 InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml"); //通过SqlSessionFactoryBuilder创建SqlSessionFactory会话工厂 SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is); session = sessionFactory.openSession(); } @After public void after(){ session.close(); } @Test public void test2() throws IOException { //查找用户 //通过session拿到接口的代理,代理可以直接转为接口 UserMapper userMapper = session.getMapper(UserMapper.class); Map<String,Object> map = new HashMap<String, Object>(); map.put("username","张"); map.put("sex","1"); List<User> users = userMapper.findUserByMap(map); System.out.println(users); } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。