【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注入

posted @ 2021-01-26 15:21  AirCL  阅读(86)  评论(0编辑  收藏  举报