使用自定义的provider类构造SQL语句时,可以使用String字符串拼接SQL,但是我们知道这样做需要我们处理加号,引号,换行,逗号,连词格式化以及嵌套的条件等问题等,非常容易出错,也不利于今后的代码理解和维护。所以MyBatis提供了一套公用的SQL构造方法,不需要写出完整SQL语句,只需要填写某些关键字,比如字段名、表名、参数即可。今天小博老师带大家来学习一下如何使用org.apache.ibatis.jdbc.SQL的公用方法。
先来回顾下上次UserProvider中手工拼写的sql语句:
下面我们使用SQL类,重写一下queryUserById函数:
可以看到,SQL语句格式化了很多,我们再看一个更为复杂的例子:
这个例子中明显可以看出,“and”连接关键字没有了,看起来很清晰。
SQL类的所有方法列表见下图所示: