
分2分情况:
一普通的单应用并发,使用关键字synchronized就可以实现。
二多应用或多台并发,这时在由于2者并非同一应用,使用synchronized并不能满足要求。此时,有下面几种方案:
数据库行级锁,优点是简单粗暴,缺点是容易死锁,非数据库专业人事建议不使用。
写入请求分离成一个独立项目,这就回到了第一种情况,优点是实现技术难度低,缺点是高并发性能相对不是很高。
使用分布式事务管理,这个是目前高并发处理的最优方案了。
最后要说的没有差的方案,每个方案都有其适用环境,请根据自身需求选择对应方案。
···你的TableModel 继承了DefaultTableModel 就可以实时更新数据了啊
你把所有行删了 再插入查询的行
或者你直接移除table再插入table
速度方面可以有很多提升的方式,你可以去网上查查,不过效果不会太明显就是!
给你一个经验之谈, 你可以新建一个后台委托或者定时应用,专门用来做静默的批量 *** 作, 比如
比如A是一个web工程,,
1 前台有个触发事件,
2 触发之后, 通知 你另外的工程B, 让B去执行这些费时费内存的 *** 作, 而A仍然能够正常的运行不会影响其他业务
3 等待B将这些 *** 作处理完之后,可以通知A, A再去返回结果
这样的话 能够保持A仍然能够高效的处理其他业务逻辑 用户也不会感觉到程序的卡顿
/ stmt=null; /
// sqlstring="insert into datacong(用户名,密码,真实姓名,性别,电话,Email,身份z号码)"+
// "values('"+cong_username+"','"+cong_password+"','"+cong_realname+"','"+cong_gender+"','"+cong_tel+"','"+cong_email+"','"+cong_ID+"')";
String sqlstring2="update datacong set tel=tel+1";
int i=stmtexecuteUpdate(sqlstring2);
responsesendRedirect("Login_congjsp");
注意我用/ /标注的 在先看你下面用到了这个变了你给他的值是什么自己想想吧
两张表结构是否一样,如果一样的话,请问你的数据库是oracle数据库么,如果是oracle有merge语句,关于merge的语句使用,楼主可参考相关资料,如果是其他数据库,个人知道的只能是挨个比对,然后update
以上就是关于javaweb如何处理并发更新数据库eOm全部的内容,包括:javaweb如何处理并发更新数据库eOm、Java swing,从数据库获取读者信息放入JLable,怎样在对数据库增删改查后,使表格自动刷新显示内容、求java批量更新数据库大字段的解决方案。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)