美文网首页数据库
打印sql更新语句

打印sql更新语句

作者: 奶盐味小圆饼 | 来源:发表于2020-04-12 11:02 被阅读0次
  • 今天遇到一个需求,就是为了把测试数据库里的数据同步更新到线上数据库里,要对数据表里的数据进行编写更新语句以便于在线上库里执行,原来的写法:
 System.out.println("UPDATE sys_business_type SET priority ="+type.getPriority());
  • 这种拼接字符串的写法进行输出操作,但是为了迎合以后新增的更多更新属性的要求,改成了如下的形式.

  • 先定义一个字符串类型,然后输出更新语句特定的格式(语句和属性),用%s来接收参数

String sqlTemple = "UPDATE sys_business_type "
+ "SET priority = \'%s\',"
+ " unalterable = \'%s\'"
+ " WHERE business_no = \'%s\'"
+ ";\n";
  • update语句都写错了,哭泣...(注意sql支持单引号,两个属性之间用逗号隔开,左反斜杠输出引号)
public void allOfBusiness () {
            //这里写了一个查询方法,得到一个数组
            List<Model> types = workstationMapper.allOfBusiness();
            for (Model type : types) {
                String updateSql = String.format(sqlTemple, type.getPriority(),
                        type.getUnalterable(),
                        type.getBusinessNo());
                System.out.println(updateSql);
            }
      }
  • 输出内容如下:

UPDATE sys_business_type SET priority = '15', unalterable = '0' WHERE business_no = 'GPS';

  • 看似简单的一个数据库更新语句,我自己都没想到能遇到这么多的错误,哎,真是不能眼高手低啊.

相关文章

网友评论

    本文标题:打印sql更新语句

    本文链接:https://www.haomeiwen.com/subject/qmlvmhtx.html