当后台存在逻辑删除时的页面搜索的java后台sql语句拼接的写法
我在做页面搜索功能时,因为数据库有个逻辑删除的字段。当使用like’%字段名%'拼接sql语句进行查询时,总是会将逻辑删除的数据也显示在搜索页面,后来发现问题是sql拼接语句有问题。
错误代码如下:(因为and后面少拼接了一个括号)
String sqlExceptSelect = " from 表名 where 逻辑删除字段名 = 'N' "
if(search != null && !search.trim().isEmpty()){
sqlExceptSelect += " and 字段名 like '% " + search + "%' "
+ " or 字段名 like '% " + search + "%' "
+ " or 字段名 like '% " + search + "%' "
+ " or 字段名 like '% " + search + "%' ";
}
正确代码如下:(在and后面加上括号即可)
String sqlExceptSelect = " from 表名 where 逻辑删除字段名 = 'N' "
if(search != null && !search.trim().isEmpty()){
sqlExceptSelect += " and (字段名 like '% " + search + "%' "
+ " or 字段名 like '% " + search + "%' "
+ " or 字段名 like '% " + search + "%' "
+ " or 字段名 like '% " + search + "%') ";
}
看事物,有时候我认为万事万物没有最绝对的纯粹,对待一件事要辩证的去看待,要客观要理性,不能一味地说它是对是错,而应该多方面多角度的去思考事物本质和相对的关系。但有些事情我的态度又是非黑即白,不喜欢就讨厌,不爱就恨。突然觉得在看待事物这个问题上,一个人怎么去理解,最大的可能应该是跟这个人的经历有关吧。你是什么样的人,你身边就会有什么样的世界,而你所在的世界又时刻在影响着你成为什么样的人。但是个人的影响力实在太小了,如果你做不到改变世界,那么最后的最后你一定会被世界改变,能留下的也许就剩骨子里的那点偏执了。所以我一直那么偏执,别问为什么,问就是没有。