(1)用 preparedstatement ,你用preparedstatement 作为关键字,上网找找。资料一堆一堆的。
(2)String str=””
String sql = "Update a set b=?where sno=’0’"
preparedstatement ps = connection.preparestatement(sql)
ps.setint(1,str)
resultset rs = ps.executequery()
总结: Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。
Statement.executeQuery方法用于向数据库发送查询语句,executeQuery方法返回代表查询结果的ResultSet对象。
可以尝试以下代码:java.util.Date dt = new java.util.Date()
java.text.SimpleDateFormat sdf =
new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
String currentTime = sdf.format(dt)
然后把currentTime 插入数据库的datetime字段就可以了,取的时候也一样,取出来的
分2分情况:
一.普通的单应用并发,使用关键字synchronized就可以实现。
二.多应用或多台并发,这时在由于2者并非同一应用,使用synchronized并不能满足要求。此时,有下面几种方案:
数据库行级锁,优点是简单粗暴,缺点是容易死锁,非数据库专业人事建议不使用。
写入请求分离成一个独立项目,这就回到了第一种情况,优点是实现技术难度低,缺点是高并发性能相对不是很高。
使用分布式事务管理,这个是目前高并发处理的最优方案了。
最后要说的没有差的方案,每个方案都有其适用环境,请根据自身需求选择对应方案。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)