1、MyBatis prefixOverrides 作用
在实际项目开发中,经常需要根据不同条件拼接SQL语句,拼接时还要确保不能忘了必要的空格,有时候还要注意省掉列名列表最后的逗号...等等。在使用JDBC 或其他类似持久层框架操作数据库时,处理这种情况是非常麻烦的,甚至可以用痛苦来形容,而在MyBatis中利用 prefixOverrides 特性可以很简单地解决这个问题。
2、prefixOverrides 使用场景介绍
在动态 SQL 的拼接过程中,如果 name 为 null,则第一个 if 不成立,里面的 SQL 语句不拼接,第二个 if 里面的 and 会紧跟在 where 后面,造成语法错误,最终动态生成的 SQL 如下:
为了解决这个问题,只要加上 prefixOverrides 即可:
3、提醒
prefix 是给整个字符串增加一个前缀,而 prefixOverrides 则是去掉整个字符串前面多余的字符。
只是自己学习记录