hibernate中怎么样实现批量更新
3个回答
展开全部
准备一个arrayList 把你要更新的实体要有ID值,放进去
然后用getHibernateTemplate().saveOrUpdateAll(arrayList)
把集合放进去执行一下就OK了.
然后用getHibernateTemplate().saveOrUpdateAll(arrayList)
把集合放进去执行一下就OK了.
更多追问追答
追问
这个项目我没有用spring 能给源代码吗? QQ邮箱是:794935372@qq.com
追答
我一般都用框架做的WEB至于单独操作还是不太会
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我只有没用hibernate的一种批处理方法,
希望会对你有点帮助:
public void updateByRoleid(int roleid,String[] userids) {
String delSql = "delete from users_roles where roleid=?";
Connection con = DBOconnection.getConnection();
PreparedStatement psmt = null;
try {
psmt = con.prepareStatement(delSql);
psmt.setInt(1, roleid);
psmt.executeUpdate();
/**
* 运用数据库的批处理,提高数据库执行效率
*/
con.setAutoCommit(false);//设置不自动执行
String insertSql = "insert into users_roles (userid,roleid)values(?,?)";
psmt = con.prepareStatement(insertSql);
if (userids != null) {
for (String userid:userids) {
int id = Integer.valueOf(userid);
psmt.setInt(1, id);
psmt.setInt(2, roleid);
psmt.addBatch();//加入批处理
}
psmt.executeBatch();//执行所有
con.commit();
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtil.close(psmt);
DBUtil.close(con);
}
}
希望会对你有点帮助:
public void updateByRoleid(int roleid,String[] userids) {
String delSql = "delete from users_roles where roleid=?";
Connection con = DBOconnection.getConnection();
PreparedStatement psmt = null;
try {
psmt = con.prepareStatement(delSql);
psmt.setInt(1, roleid);
psmt.executeUpdate();
/**
* 运用数据库的批处理,提高数据库执行效率
*/
con.setAutoCommit(false);//设置不自动执行
String insertSql = "insert into users_roles (userid,roleid)values(?,?)";
psmt = con.prepareStatement(insertSql);
if (userids != null) {
for (String userid:userids) {
int id = Integer.valueOf(userid);
psmt.setInt(1, id);
psmt.setInt(2, roleid);
psmt.addBatch();//加入批处理
}
psmt.executeBatch();//执行所有
con.commit();
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBUtil.close(psmt);
DBUtil.close(con);
}
}
追问
不是我想要的我要的是hibernate的批量更新
你这没有载入 hibernate
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还有一种方式,你可以在dao层直接循环向数据库中更新插入,可能性能方面没有hibernate的saveOrUpdateAll要好
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询