Mybatis中常用sql语句

1.变量的输入:#,$

在xnm文件中,

1)  通过 #{参数名} 来将参数放入sql语句中,根据数据类型输入

例如:select * from A表 a where  a.id=#{id}

2)   通过 ${参数名} 来表示普通字符

例如:select * from A_${id} a where  a.id=#{id}  ,假如String id=10,

那么等价于:select * from A_10 a where  a.id='10'

 

 2.条件句

A.在执行条件条件查询时,就会用到该条语句:

  select * from A表 a where 1=1

    <if test="a.id !=null and a.id !=‘’ "> and a.id =#{id}</if>

    <if test="a.name!=null and a.name !=’’ "> and a.name =#{name}</if>

    ......

B.在执行插入更新语句时,

  update  A表 a set

    <if test="a.id !=null and a.id !=’’ "> a.id =#{id},</if>

    <if test="a.name!=null and a.name !=’’ "> a.name =#{name},</if>

    a.age=#{age}

     ......

C.模糊查询

  select * from A表 a where 1=1

    <if test="a.id !=null and a.id !=’’ "> and a.id =#{id}</if>

    <if test="a.name!=null and a.name !=’’ "> and a.name like concat(‘%’,#{name},‘%’)</if>

    ......

核心思想就是:对sql语句进行拼接。同时根据需要,还可以将if条件句提取出来。然后再被引用,例如:

  <select id="xxx" parameterType="com.xxx.xxxx"  resultType="com.xxx.yyy">

    select * from A表 a where 1=1

    <include refid="yyy"><include>

  </select>

   <sql id="yyy">

    <if test="a.id !=null and a.id !=’’ "> and a.id =#{id}</if>

    <if test="a.name!=null and a.name !=’’ "> and a.name =#{name}</if>

    ......

  </sql>

 

D.sql中直接使用

  SELECT IF(`status`=1,'正常','禁用') AS `status` FROM area

  Case条件语句:将值改变成其他信息输出

  SELECT `name`,CASE `status`

            WHEN 1 THEN '草稿'

            WHEN 2 THEN '提交'

            WHEN 3 THEN '审核'

            ELSE 'No' END  `status`

  FROM 表A

 

3.大于小于符号

在mybatis中是无法识别sql语句中的“>”,“<”符号的,所以应该使用 “&gt;”来代替“>”,“&lt;”来代替“<”

 

转载于:https://www.cnblogs.com/momoweiduan/p/8149540.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值