由于最近写增删改查,对与开发来说,编写一个insert和update 语句是十分耗时耗力的,因为有大量的字段要复制粘贴。粘贴完还要去比对一下有没有漏粘的,很耗费精力,于是就想着写一个sql,通过手动指定哪张表,运行这个sql后,程序便自动将表中的字段补充上去。自己在做一点微调即可,省下来大部分的开发时间,我们只需要将结果粘贴到mybatis.xml 映射文件中即可
select
'insert into ' || table_schema || '.' || table_name || ' ( ' ||
string_agg(column_name, ',') || ') values ( ' ||
string_agg('#{' || column_name || ', jdbcType=VARCHAR}', ', ')
|| ')' as insertSql,
'update ' || table_schema || '.' || table_name ||
' set ' ||
string_agg(column_name || ' = #{' || column_name || ', jdbcType=VARCHAR}', ',') ||
'where 字段1 = #{old_字段1}' as updateSql,
'delete ' || table_schema || '.' || table_name || ' where 主键1 = #{主键1, jdbcType=VARCHAR}' as deleteSql
from information_schema.columns where
table_schema = 'bee' --替换你的数据库名称
and table_name = 't_xxx_xxx' -- 替换你的表名称
group by table_schema, table_name;
扩展补充: 可根剧以上形式添加 mybatis 批量插入, 以及新增时存在即修改不存在添加的常用sql