永发信息网

java后台如何向数据库同一张表同时插入多条数据,请看如下保存数据操作代码是否正确。

答案:2  悬赏:0  手机版
解决时间 2021-03-02 02:30
// 查用户信息表,取yuid
String yhxxhql = "select yuid from Yonghuxinxi a where 1=1 ";
Session session = kaoqinDao.getSessionFactory().getCurrentSession();
Query query = session.createQuery(yhxxhql);
List listyh = query.list();
//查考勤班次表,取kqbcid
String bancihql = "select kqbcid from Kaoqinbanci k where 1=1";
Query query2 = session.createQuery(bancihql);
List listbc = query2.list();
//判断操作标识符
String opflag=kaoqinModel.getOpflag();
String kqid = kaoqinModel.getKqid();
Kaoqin kaoqin = null;
if (opflag.equals("add")) {
kaoqin = new Kaoqin();
} else if (opflag.equals("edit")) {
kaoqin = this.kaoqinDao.findById(kqid);
if (kaoqin == null ) {
throw new ClassNotFoundException("系统查无此用户");
}
kaoqinModel.setAdddate(kaoqin.getAdddate());// 编辑状态下,保留原来的adddate
}else{
throw new Exception("无此操作");
}
// 初始化日期
if (opflag.equals("add")) {
kaoqin.setAdddate(new Date());
kaoqin.setEditdate(new Date());
}else if (opflag.equals("edit")) {
// 编辑状态下,yonghu里面的adddate容易被model替换成null,注意
kaoqin.setEditdate(new Date());
}else{
throw new Exception("无此操作");
}
// 保存数据
if (opflag.equals("add")) {
if(listyh != null){
for(int i = 0;i if(listbc != null){
kaoqinModel.setKqbcid(listyh.get(i).toString());
for(int j = 0;j kaoqinModel.setYuid(listbc.get(j).toString()); BeanUtils.copyProperties(kaoqin, kaoqinModel);
ComObj.commonOperation("insert", this.kaoqinDao, kaoqin);
}

}
}
}
}else if (opflag.equals("edit")) {
// 先把中间表数据删掉,再重新插入
// Session session = kaoqinDao.getSessionFactory()
// .getCurrentSession();
// 去掉readonly限制,不要用AUTO属性,AUTO属性会插入主表后,才删除中间表信息,导致缺失中间表数据
session.setFlushMode(FlushMode.COMMIT);
Transaction trans = session.beginTransaction();
try {
session.saveOrUpdate(kaoqin);// 保存用户
session.flush();
trans.commit();
} catch (Exception e) {
trans.rollback();
e.printStackTrace();
throw new Exception("编辑失败" + e);

}

}else{
throw new Exception("无此操作");
}
最佳答案
准备INSERT的Object,每次都要new,就会insert多条记录
全部回答
你好! batch commit 希望对你有所帮助,望采纳。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
50岁征婚
佳客来NO.418这个地址在什么地方,我要处理点
请问黄浦区办健康证的地方在哪里?多少钱?
向两张平行且自由下垂的纸中间吹气,这两张纸
推荐几个有意思的网站呗?
为什么关机时一直停留在"正在保存设置"不动了
众通汽贸在哪里啊,我有事要去这个地方
北京到迪拜飞机多长时间
王朝霸域武将宝石选择?
四神丸的功用是A.涩肠固脱,温补脾肾B.温补脾
天龙八部手游结拜称号后面怎么弄
农机配件地址有知道的么?有点事想过去
一个犬字旁一个严肃的严用五笔怎么打
小木虫为何登陆不了?
word2010已经生成了目录,怎么在最前面再添加
推荐资讯
雷诺是品牌手表吗
【唐宋散文八大家】是唐宋八大家之一还是唐宋
常州市文联地址在什么地方,想过去办事
meme666com 迅雷下载
VZV可引起哪些疾病
我是美术专业的,请问陕西师范大学美术专业研
有散光 但是配眼镜没有 有没有影响?
患儿女,32周早产小于胎龄儿,生后出现哭声异
求绿山墙的安妮 系列小说TXT下载
凭祥市的韵达快递在哪啊
要怎样才能够进行股票做空交易?
郑诗新中医诊所地址在哪,我要去那里办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?