12-1-28进步一小点

本文深入探讨了在J2SE环境下使用Statement和PreparedStatement进行数据库操作的方法,包括如何避免SQL注入,实现数据库事务的隔离性和一致性,以及如何高效地获取数据库记录。重点介绍了PreparedStatement的使用,以及如何通过设置数据库连接的自动提交状态来实现事务管理。

1,关于数据库的操作

在j2se,连接数据库中 有个Statement类 通过产生该类的对象,我们可以进而执行相应的sql语句

一般我们如果要进行增加一条语句到table中,例如String sql="insert into pet values(nameid,sex,owner)";

这里的nameid,sex,owner均是我们自己从其他地方动态获取的数据,

例如stmt.executeUpdate(sql)是绝对出问题的,因为我们的sql里面的格式严重有问题,必须要自己利用+配合 添加相应的' ' 这种单引号,否则传进去语法报错。


这里我们引入Statement的子类,PreparedStatement;,再进行相应的数据库操作就变的简单一点

代码如下:pstmt=conn.preparedStatement("insert into pet values (?,?,?)");//里面就是我们的sql语句

pstmt.setInt(1,nameid);//设定第一个问号为int  其值为nameid

pstmt.setString(2,sex);

pstmt.setString(3,owner);

pstmt.executeUpdate();

这样就避免了我的sql字符串中的单引号的,之类的很繁琐的操作


2关于数据库中的transaction

在关于sql语句执行的过程中,肯定会遇到  一个数据从一个表提取出来,在存在另一个表中,这里需要保持他们的一致性,我们称为transaction

一旦其中某个操作有问题,则不会进行下个操作。这样就是成功操作的前提的两个操作必须都是成功操作

而我们在jdbc中如何用代码实现:在他的代码中有个方法setAutoCommit(true)是自动commit,为此我们必须认为的设置为false, 等我们的sql语句就位后 集中提交,一旦出现exception方便处理。

代码如下: cnn.setAutoCommit(false);
stmt=cnn.createStatement();
stmt.addBatch(sql);
stmt.addBatch(sql);
stmt.executeBatch();
cnn.commit();
cnn.setAutoCommit(true);

通过上面的操作,我们人工的集中commit(),然后给jdbc复原他本什么的自动提交策略。

在集中提交过程中,一旦出现任何异常,try{
if(cnn!=null){
cnn.rollback();
cnn.setAutoCommit(true);
}
}catch(SQLException e1){
e1.printStackTrace();
}

3关于点取数据库的某条记录,在传统的ResultSet 中,我们一般调用next()方法,从上到下逐条提取。

这里,我们通过在stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

第一个参数是对滚动不敏感,第二个参数是并发的时候 只读。

rs=stmt.executeQuery(sql);  通过设置好了语句对象,在结果集中可以秒取任意行记录了。


### 性能对比分析 #### 基本参数概述 Intel Core i7-1260P 属于第十二代 Alder Lake 架构处理器,采用混合架构设计,具备更高的每瓦性能表现。它拥有 4 个性能核心 (P-Core) 和 8 个效率核心 (E-Core),总计支持最多 12 线程运行[^1]。相比之下,i7-9750HF 是第九代 Coffee Lake Refresh 处理器的员,配备 6 核心 12 线程配置,专为高性能笔记本电脑优化。 #### 制造工艺与功耗 i7-1260P 使用的是 Intel 的 7nm 工艺节点(实际基于改进版的 10nm),而 i7-9750HF 则采用了更早的 14nm++ 技术。得益于先进的制造工艺,i7-1260P 提供更低的基础 TDP 范围,在 12W 至 28W 之间可调,适合轻薄型设备;相反,i7-9750HF 设计目标偏向游戏和工作站用途,默认基础功率设定较高,通常维持在约 45W 水平[^2]。 #### 单核与多核性能 就单线程处理能力而言,由于微架构的进步以及更高频率的支持,即使是在较低电压下工作,i7-1260P依然能够提供接近甚至超越前辈产品的效能水平。具体来说,其最大睿频可达至高点附近(视具体型号略有差异),这使得日常应用中的响应速度更快[^3]。然而对于传统意义上的重负载计算场景比如视频渲染或者科学模拟等方面,则可能因为物理核心数量上的差距而导致总体吞吐量有所不同——尽管如此,通过软件调度充分利用大小核组合的优势也可以弥补部分不足之处。 #### 图形性能 内置显卡方面,i7-1260P 配备了 Iris Xe Graphics 解决方案,具有多达 96 执行单元(EUs),相比起前几代产品有着显著提升,并且足以应对主流级的游戏需求或是多媒体编辑任务。另方面,虽然 i7-9750HF 同样搭载 UHD Graphics 630 ,但在规格上明显落后许多,仅适用于基本图形显示功能而不适合作为主要依赖对象来进行复杂视觉运算操作[^4]。 ```python # 示例代码展示如何查询 CPU 参数信息 import psutil def get_cpu_info(): cpu_count = psutil.cpu_count(logical=True) freq = psutil.cpu_freq() return f"Cores: {cpu_count}, Max Frequency: {freq.max} MHz" print(get_cpu_info()) ``` #### 实际应用场景考量 当考虑购买新硬件时除了单纯看纸面数据外还需要结合个人使用习惯来决定哪款更适合自己的情况。如果主要关注便携性和电池续航时间的话那么选择较新型号会更加明智;而对于那些追求极致游戏体验或者其他高度并行化作业环境下的朋友来讲或许旧点但是更强悍的传统桌面替代品才是最佳拍档[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值