1.insert的时候要使用isNotEmpty而不是使用isNotNull
2.传时间的时候在sql中用now();不要从前台传过来
3.在update的时候。如果有“更新时间”字段,使用如下方法
-----------------
UPDATE A
set modify_time=now()
<dynamic>
<isNotEmpty prepend="," property="name">
name=#name#
</isNotEmpty>
</dynamic>
-----------------
4.使用where的时候,若传多个字段,要将有索引的字段放在前面,如:
id上存在索引
-----------------
WHERE id=#id# and enable=1
-----------------
5.尽量多使用逻辑删除(enable=0),少用物理删除
6.DO中不要使用long,使用Long
从数据库中取出null时,若DO为long,将null转为long会报错
7.尽量少用join,不方便维护人员维护(需要阅读sql),尽量在service层处理逻辑
(ps:遇到分页可能没有办法)
8.当传入一个数组时,sql中写法如下
--------------------
and
id in
<iterate property="idList" open="(" close=")" conjunction=",">
#idList[]#
</iterate>
--------------------
9.sql中写大于号或小于号的方法
-------------------
<isNotEmpty prepend=" AND " property="createEndTime">
<![CDATA[
create_time < #createEndTime#
]]>
</isNotEmpty>
-------------------
从项目中学到的SQL注意点
猜你喜欢
转载自shensuqiao.iteye.com/blog/2207034
今日推荐
周排行