判断数据库是否存在当前数据
SELECT count(*) FROM table WHERE a = 1 AND b = 2
//常见写法 这样还会把整张表查完看是否还存在
int nums = xxDao.countXxxxByXxx(params);
if ( nums > 0 ) {
//当存在时,执行这里的代码
} else {
//当不存在时,执行这里的代码
}
改良后的写法
SELECT 1 FROM table WHERE a = 1 AND b = 2 LIMIT 1
//常见写法 这样还会把整张表查完看是否还存在
Integer exist = xxDao.existXxxxByXxx(params);
if ( exist != NULL ) {
//当存在时,执行这里的代码
} else {
//当不存在时,执行这里的代码
}
SQL不再使用count,而是改用LIMIT 1,让数据库查询时遇到一条就返回,不要再继续查找还有多少条了
业务代码中直接判断是否非空即可