Java操作数据库的方法是什么
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容介绍了"Java操作数据库的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、悲观
千家信息网最后更新 2025年01月19日Java操作数据库的方法是什么1.使用悲观锁(在事务中的sql语句中使用)
2..完整代码
3..测试代码
本篇内容介绍了"Java操作数据库的方法是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一、悲观锁(也叫行级锁)
在本次事务的执行过程当中,我们指定的记录被查询,在我查询的过程当中记录就会被锁定,任何人,任何事务都不能对我指定查询数据进行修改操作(不能改,但是可以看),直到我都查询结束。
1.使用悲观锁(在事务中的sql语句中使用)
//sql指令 String sql = "select * from t_shuihuo where id < ? for update ";
2..完整代码
package com.luosf.jdbc; import com.luosf.jdbc.utils.JdbcUtil; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException; /** * JDBC中锁的使用 * for updata */public class JdbcLock { public static void main(String[] args) { Connection conn = null; PreparedStatement stat = null; ResultSet res = null; try { //创建驱动 //获取数据库对象 conn = JdbcUtil.getConnection(); //sql指令 String sql = "select * from t_shuihuo where id < ? for update "; conn.setAutoCommit(false);//开启事务 //3,sql语句进行编译 stat = conn.prepareStatement(sql); //给占位符填充值 //JDBC下标从1开始的 stat.setInt(1,16); //1,代表第一个问号 Thread.sleep(1000*10); //模拟访问时间 //4,执行sql res = stat.executeQuery(); //5,处理查询结果集 while (res.next()){ int id = res.getInt("id"); String name = res.getString("name"); String nickname = res.getString("nickname"); System.out.println("id :"+ id + " name :" +name + " 昵称 :"+nickname); } conn.commit();//提交事务 } catch (SQLException throwables) { try { if (conn != null){ conn.rollback(); //回滚事务 } } catch (SQLException e) { e.printStackTrace(); } throwables.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } finally{ //释放资源 JdbcUtil.close(conn,stat,res); } }}
3..测试代码
package com.luosf.jdbc; import com.luosf.jdbc.utils.JdbcUtil; import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException; /** * 检测锁 */public class JdbcLockTest { public static void main(String[] args) { Connection conn = null; PreparedStatement stat = null; try { //获取驱动 //获取数据库链接对象 conn = JdbcUtil.getConnection(); //开启事务 conn.setAutoCommit(false); //锁开始后进行修改数据 String sql = "update t_shuihuo set name = '小罗' where id = ? "; stat = conn.prepareStatement(sql); stat.setInt(1,10); //1,代表第一个问号 int cunt = stat.executeUpdate(); System.out.println("更新了"+cunt+"条数据"); conn.commit();//提交事务 } catch (SQLException throwables) { try { if (conn != null){ conn.rollback(); } } catch (SQLException e) { e.printStackTrace(); } throwables.printStackTrace(); } finally { //释放资源 JdbcUtil.close(conn,stat,null); } }}
需要等锁等待时间完成才能进行修改
"Java操作数据库的方法是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
事务
数据
查询
数据库
过程
方法
悲观
代码
代表
内容
对象
指令
时间
更多
知识
语句
资源
问号
驱动
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
客户怎样找华为做软件开发
财务软件开发下载
网络安全有什么看法
北京市天下网络技术有限公司
网络技术三级 网盘
河北第三方软件开发价格表
专业存储服务器
学软件开发哪种比较简单
织梦数据库保存方法
网络安全 书籍推荐
设置固定的dns服务器上不了网
数据库安全防护新思路
宁波软件开发公司 游戏
各大网络安全公司市值
电力网络安全数据挖掘
网络安全工具125
成都高科技博物馆软件开发
钻石数据库
软件开发方案确认是什么阶段
金牛互联网信息科技
数据库系统综合课程设计
软件开发与软件管理的关系
多次登录用户锁定数据库设计
徽县网络安全
该软件开发适于采用什么过程
2020年十大网络安全事件看法
我的世界服务器称号怎么加
中牟软件开发招聘
丽江互联网科技有什么专业
亿林网络技术服务怎么样