MyBatis学习(一)——SQL语句中符号的转义(SQL不兼容问题)

昨天等大朋友下班,然后去他工位上找他发现他和同事在看代码,我说下班了,然后他说还有一点问题(他们使用的是mybatis框架),让我看看遇没遇到过,经过大朋友的几番演示,我隐隐约约的好像知道是什么问题,百度查了一下证实自己的猜测,果然是转义字符的问题,原来数据库所使用的引号和mybatis不一样!问题解决之后愉快的下班。今天做一下小总结,方便以后自己看一下。

我们在使用Mybatis的时候,大致由三部分组成。

model、mapper接口、mapper.xml

  • model就是我们经常使用的实体类,可以在mapper.xml中直接使用(当做参数或者结果返回)
  • mapper接口就是对服务层提供的接口,是整个数据库操作的封装。
  • mapper.xml是我们来写sql语句的地方,每一个sql语句都有一个唯一标识的id,而这个id要与mapper接口的方法名一致(接口通过方法名去找相应的sql语句执行的

其中在mapper.xml中会使用到<select></select><if></if><foreach></foreach等标签,当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=,‘’,“ ”等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序错误。其实很简单,我们只需作如下替换即可避免上述的错误:

原符号<<=>>=' '" "
替换符号&lt;&lt;=&gt;&gt;=&apos;&quot;

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值