Mybatis操作使用

Mybatis-XML的sql操作

1、<if test="name!=null and name!=''"></if>

2、模糊查询: LIKE CONCAT('%',#{name},'%')

3、返回null->设置0:coalesce(e.cuscount,0) as cuscount

4、批量操作:用于insert、update居多,sql的in操作也常见

  xxx可以是集合list也可以是数组array,参数item有对象直接 #{item.name}  

<foreach collection="xxx" item="item" index="index" open="(" close=")" separator=","> #{item}</foreach>

5、在不跳mybatis-push构造器火坑前,XML新增、更新常用判空拼接

<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=VARCHAR},
</if>
</trim>

6、mapper入参xml的两种方式接收

  #{}:表示一个占位符, 经过预编译,这种是取值以后再去编译SQL语句
  ${} :拼接SQL字符串(常用表名),未经过预编译,直接提取变量编译sql语句-简单说就是会有sql注入风险

7、navicat客户端操作

  • ctrl+r 执行选中sql
  • ctrl+d 数据表查询设计表定义
  • ctrl+q 打开查询窗口

8、 sql查询返回map使用
  List <Map <String, String>> list = userMapper.selectTest();

9、锁表

  排它锁(Exclusive Locks,即X锁)和共享锁(Share Locks,即S锁)
  update,delete,insert都会自动给涉及到的数据加上排他锁

posted on 2020-05-15 19:30  fuanfei  阅读(257)  评论(0)    收藏  举报