package gulfnet.tts.inthanon.data.product.datadomain;
import java.time.ZonedDateTime;
import lombok.Data;
@Data
public class CommunityItemRecord{
private String communityId;
private String itemId;
private ZonedDateTime publicStartDt;
private ZonedDateTime publicEndDt;
private ZonedDateTime handleEndDt;
private String makerCommunityId;
private Integer makerApprovalFlg;
private String makerApprovalUserId;
private ZonedDateTime insDttm;
private String insUserId;
private ZonedDateTime upDttm;
private String upUserId;
}
<insert id="insertCommunityItemList" parameterType='list'>
INSERT ALL
<foreach collection="list" item="element" index="index">
INSERT INTO product.m_community_item (
community_id,
item_id,
public_start_dt,
public_end_dt,
handle_end_dt,
maker_community_id,
maker_approval_flg,
maker_approval_user_id,
ins_user_id,
up_user_id
) VALUES (
#{element.communityId},
#{element.itemId},
#{element.publicStartDt},
#{element.publicEndDt},
#{element.handleEndDt},
#{element.makerCommunityId},
#{element.makerApprovalFlg},
#{element.makerApprovalUserId},
#{element.insUserId},
#{element.insUserId}
)
on conflict on constraint m_community_item_pk
do update set
public_start_dt = #{element.publicStartDt},
public_end_dt = #{element.publicEndDt},
up_dttm = current_timestamp,
up_user_id = #{element.insUserId}
</foreach>
</insert>
public void insertCommunityItemList(java.util.ArrayList<CommunityItemRecord> communityItemRecordList);
exception=org.springframework.jdbc.badsqlgrammareXception:gulfnet.tts.inthanon.data.product.mapper.catalogmapper.insertCommunityItemlist(批索引#1)失败。原因:java.sql.BatchUpdateException:批条目0 INSERT ALL被中止。调用getNextException查看原因。;糟糕的SQL语法[];嵌套异常是org.PostgreSQL.util.psqlException:error:“all”位置或附近的语法错误:8
您可以使用java迭代器迭代您的communityItemRecordList并一个接一个地插入数据库。
//java
communityItemRecordList.forEach(c -> {
mapperInstance.insert(c);
});
//mapper xml
<insert id="insert">
....
</insert>
我认为在这个演示中使用动态SQL是不合适的。
我刚刚使用了foreach元素并测试成功。代码:
//java
@RunWith(SpringRunner.class)
@SpringBootTest
public class SmsContentDaoTest {
@Autowired
private SmsContentDao smsContentDao;
@Test
public void insertList() {
List<SmsContentDO> list = new ArrayList<>();
SmsContentDO item = SmsContentDO.builder().name("john").company("abc").job("farmer").build();
list.add(item);
item = SmsContentDO.builder().name("tom").company("nba").job("player").build();
list.add(item);
int rows = smsContentDao.insertList(list);
System.out.println(rows);//2
}
}
//mapper interface
int insertList(List<SmsContentDO> list);
//mapper xml, the dialect of mysql
<!-- int insertList(List<SmsContentDO> list);-->
<insert id="insertList">
insert into
sms_content (`name`,`company`,`job`)
values
<foreach collection="list" item="item" separator=",">
(#{item.name},#{item.company},#{item.job})
</foreach>
</insert>
问题内容: 如何解析包含数据的XML 我们如何解析xml并获取包含在???中的数据? 问题答案: (http://www.java2s.com/Code/Java/XML/GetcharacterdataCDATAfromxmldocument.htm)
问题内容: 我正在使用NewtonsoftJson库来解析json,但我不知道如何使用它。我使用JObject解析了字符串。当我在即时窗口中输出JObject实例的值时,我得到了:- 我应该怎么做才能获得这个工作的价值? 问题答案: 我个人更喜欢将JavaScriptSerializer与.NET环境中的JSON一起使用。默认情况下,它将返回Dictionary结果,但可用于解析到自定义对象(或者
我正在尝试运行一个Java应用程序,但是得到了这个错误: 冒号后面是丢失的类的位置。但是,我知道那个位置不存在,因为类位于其他地方。如何更新该类的路径?和类路径有关系吗?
当我尝试调试和部署我的android应用程序(在android Studio0.9中)时,我得到以下错误: 为了使事情清楚,这里有一个我的行动简史: null 从那时起,我就在将multiDex添加到我的项目中之后,不断地得到所描述的错误,方法如下:使用Gradle将外部库拆分到单独的dex文件中,以解决Android Dalvik 64K方法的限制。 这是我的build.gradle文件: 我还
我很难理解如何解析javax.ws.rs.core.Response。有些人指出使用InputStream,但我不理解它是如何工作的,因为返回类型是响应。getEntity()的类型为Object。例如: NetBeans 抱怨说,我需要将 Object 类型转换为 InputStream。响应将由XML组成,我只是希望能够使用DOM解析它。我无法从javax.ws.rs.core.Respons
我试图编写简单的java代码,在控制台上显示MongoDB集合。我在类路径中添加了mongodb-driver-3.0.0.jar。 但是当我尝试执行代码时,它在数据库连接的行处给了我以下错误: 线程“main”java.lang.noClassDeffounderror:com/mongoDb/connection/bufferprovider在com.chintan.app.mongodbjd