欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Mybatis数据库模糊查询

程序员文章站 2024-03-23 09:02:22
...

Mybatis数据库模糊查询


一、补充使用Map集合

  1. Map传递参数,直接在sql中取出key即可------parameterType=“map”
  2. 对象传递参数,直接在sql中取对象的属性即可------parameterType=“object”
  3. 只有一个基本类型参数的情况下,可以直接在sql中去到
  4. 多个参数用map或者注解
  • mapper接口方法:
int addUser2(Map<String,Object> map);
  • mapper.xml
<!--Map集合使用-->
    <insert id="addUser2" parameterType="map" >
        insert into user_login(Id,name,pwd) values (#{id},#{name},#{pwd})
    </insert>
  • 测试方法:
    @Test
    public void addUser2(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        Map<String,Object> map = new HashMap<String, Object>();
        map.put("id",90);
        map.put("name","Hello");
        map.put("pwd","world");
        int f = mapper.addUser2(map);

        //提交事务
        sqlSession.commit();
        if (f > 0){
            System.out.println("插入成功");
        }else {
            System.out.println("插入失败");
        }
        sqlSession.close();
    }

Mybatis数据库模糊查询

二、模糊查询

  1. Java代码执行的时候,传递通配符% %
List<User> userList = mapper.getUserLike("%小%");
  1. 在sql拼接中使用通配符
select * from user_login where name like "%"#{value}"%"

第二种:

  • mapper接口方法:
//模糊查询
    List<User> getUserLike(String value);
  • mapper.xml
<!--模糊查询-->
    <select id="getUserLike" resultType="dao.pojo.User">
        select * from user_login where name like "%"#{value}"%"
    </select>
  • 测试方法:
   @Test
    public void getUserLike(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> userLike = mapper.getUserLike("小");
        for (User user : userLike) {
            System.out.println(user);
        }

        sqlSession.close();
    }