Mybatis
我们在进行了简单的CRUD操作后,开始了解并使用Map查询以及模糊查询
Map查询
Map查询一般用在实体类或数据库中表有太多的参数的情况,因为Map可传可变参数,局部修改
代码演示:
接口:
// Map查询 UserInfo getUserById(Map<String,Object> map);
SQL语句: 这里要切记,但凡使用了Map的参数,一定要表明参数类型为Map
<select id="getUserById" parameterType="Map" resultType="com.charles.pojo.UserInfo"> select * from userinfo where iduserInfo=#{iduserInfo} </select>
测试类调用:
@Test public void getUserById(){ SqlSession session = MybatisUtils.getSession(); UserMapper mapper = session.getMapper(UserMapper.class); Map<String,Object> map = new HashMap<>(); map.put("iduserInfo",1); UserInfo userById = mapper.getUserById(map); System.out.println(userById); session.close(); }
模糊查询
代码演示:
接口:
List<UserInfo> queryLike(String value);
SQL语句: 为了防止SQL注入,我们必须添加通配符
<select id="queryLike" resultType="com.charles.pojo.UserInfo"> select * from userinfo where username like "%"#{value}"%"; </select>
测试类调用:
// 模糊查询 @Test public void queryLike(){ SqlSession session = MybatisUtils.getSession(); UserMapper mapper = session.getMapper(UserMapper.class); List<UserInfo> c = mapper.queryLike("C"); for (UserInfo userInfo : c){ System.out.println(c); } session.close(); }