PreparedStatement处理批量SQL时,不支持SELECT常量内容(包括一些外面数据要作为参数SELECT)

PreparedStatement处理批量SQL时不支持SELECT常量,不能对其SQL预编译,本来想一条SQL来插入一条记录,然后运用PreparedStatement的addBatch进行一次大批量的提交数据,看样子是没戏,也没有别的书写方式.
PreparedStatement处理批量SQL时,不支持SELECT常量内容(包括一些外面数据要作为参数SELECT)_第1张图片
偶想了半天,想出来了一个处理方式,分成两步即拆分为两个PreparedStatement(分别进行addBatch,然后批量执行),第一个执行插入操作,把不需要从别的表SELECT的值和必填的值先插入进去
PreparedStatement处理批量SQL时,不支持SELECT常量内容(包括一些外面数据要作为参数SELECT)_第2张图片
第二个根据上面SELECT的内容进行批量UPDATE
PreparedStatement处理批量SQL时,不支持SELECT常量内容(包括一些外面数据要作为参数SELECT)_第3张图片
OK,很好地解决了PreparedStatement对SELECT 常量不支持的问题
 

你可能感兴趣的:(PreparedStatement处理批量SQL时,不支持SELECT常量内容(包括一些外面数据要作为参数SELECT))