【MyBatis】学习笔记003--map与模糊查询
1.map
在进行CRUD需要传入多个参数时,一般有两种方式解决
(1)利用pojo对象,例如User对象
new 一个User对象,然后通过set方法赋值参数,再传入User对象
User user = new User(); user.setId("1"); user.setName("aircl");
(2)利用map
Map<String,Object> map = new HashMap<String,Object>; map.put("id",1); map.put("name","aircl");
<update id="updateUser" parameterType="map"> update user set name = #{name} where id = #{id} </update>
(3)比较
在User属性数量少的情况下,使用User进行参数传入和map效果一致,但是当User属性个数庞大时,map效果更加
2.模糊查询
模糊查询在实际开发中使用场景很多,mybatis有两种方式
(1)在java代码中添加“%”
String name = "%张%";
List<User> users = userDao.selectLike(name);
<select id="selectLike" resultType="com.aircl.pojo.User" parameterType="String"> select * from user where name like #{name} </select>
(2)在Mapper中添加“%”
String name = "张";
List<User> users = userDao.selectLike(name);
<select id="selectLike" resultType="com.aircl.pojo.User" parameterType="String"> select * from user where name like "%"#{name}"%" </select>
(3)比较
推荐使用第一种方式,能够有效防止SQL注入