mybatis mysql 批量查询数据判断

mysql判断字段是否为空

select case when isnull(colum) then ''
else colum end from tableName where ……

做完发现case只能判断字段为空,如果数据不存在case判断不生效,于是改成

select case when c<=0 or isnull(colum) then ''
else colum end from 
(select colum,count(1) as c from tableName where ……) t1

如果数据不存在c未0,成功判断空数据
mybatis批量插入时使用foreach标签常规用用

intsert into tablename (column,column……)
values

(#{item.columnName},#{item.columnName}……)

或者

intsert into tablename select * from tableName

不过两种方式都不适合我的需求,因为我是出入list不过每次需要在数据库查询生成,改成

intsert into tablename (column,column,column……)

(select #{item.columnName},#{item.columnName},
case when c<=0 or isnull(colum) then ''
else colum end,……
 from (select colum,count(1) as c from tableName where ……) t1)

如果大神有更好的方法欢迎讨论

你可能感兴趣的:(数据库)