Tomcat配置Web程序几种方式
admin
2023-05-28 22:21:22
0

原文来自搬砖工,如需转载请注明出处


我们常用的是java的JDBC,因此这里就以JDBC为例总结一下java数据库操作常用的一些内容

一、数据库驱动加载

首先,我们知道JDBC是以java数据库驱动为主要实现机制进行数据库操作的,每个类型的数据库都有不同的数据库驱动。常用的数据库驱动加载如下:(驱动可到官网下载)

1.Oracle8/8i/9iO数据库(thin模式)

Class.forName("Oracle.jdbc.driver.OracleDriver").newInstance();

2.mysql数据库

Class.forName("com.mysql.jdbc.Driver").newInstance();

3.DB2数据库

Class.froName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();

4.Sql Server数据库

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //Sql Server7.0/2000数据库
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); //Sql Server2005/2008数据库

二、建立连接

数据库操作先需要与数据库建立连接,然后从数据库中读取我们需要的数据

1.Oracle8/8i/9iO数据库(thin模式)

String url="jdbc:oracle:thin:@localhost:1521:orcl"; 
String user="root"; 
String password="root"; 
Connection conn=DriverManager.getConnection(url,user,password);

2.mysql数据库

String url="jdbc:mysql://localhost:3306/testDB?user=root&password=root&useUnicode=true&characterEncoding=gb2312"; 
Connection conn=DriverManager.getConnection(url);

3.DB2数据库

String url="jdbc:db2://localhost:5000/sample"; 
String user="amdin" 
String password=-""; 
Connection conn=DriverManager.getConnection(url,user,password);

4.Sql Server数据库

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs"; 
String user="sa"; 
String password=""; 
Connection conn=DriverManager.getConnection(url,user,password);

三、执行SQL语句

根据条件进行数据库操作

//建立Statement对象 
Statement stmt=conn.createStatement(); 
//建立PreparedStatement对象 
String sql="select * from user where userName=? and password=?"; 
PreparedStatement pstmt=Conn.prepareStatement(sql); 
pstmt.setString(1,"root"); 
pstmt.setString(2,"root"); 
//做好准备工作之后就可以执行sql语句了,执行sql语句:
String sql="select * from users"; 
ResultSet rs=stmt.executeQuery(sql); 
//执行动态SQL查询 
ResultSet rs=pstmt.executeQuery(); 
//执行insert update delete等语句,先定义sql 
stmt.executeUpdate(sql);

 

四、处理结果集

把数据库查询出来的数据进行处理,得到我们需要的内容

while(rs.next) { 
System.out.println("你的第一个字段内容为:"+rs.getString("Name")); 
System.out.println("你的第二个字段内容为:"+rs.getString(2)); 
}

五、关闭数据库连接

操作完数据库一定要记得关闭数据库连接,不然不造成资源浪费。当连接达到一定数目的时候,读取数据库速度将会降低。

依次将ResultSet、Statement、PreparedStatement、Connection对象关闭,释放所占用的资源. 

rs.close(); 
stmt.clost(); 
pstmt.close(); 
con.close();

六、数据库事务

事务是现代数据库理论中的核心概念之一。如果一组处理步骤或者全部发生或者一步也不执行,我们称该组处理步骤为一个事务。当所有的步骤像一个操作一样被完整地执行,我们称该事务被提交。由于其中的一部分或多步执行失败,导致没有步骤被提交,则事务必须回滚到最初的系统状态。

事务必须服从ISO/IEC所制定的ACID原则。

什么是ACID原则?

ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。

1.事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。

2.一致性表示 当事务执行失败时,所有被该事务影响的数据都应该恢复到事务执行前的状态。

3.隔离性表示在事务执行过程中对数据的修改,在事务提交之前对其他事务不可见。

4.持久性表示当系统或介质发生故障时,确保已提交事务的更新不能丢失。持久性通过数据库备份和恢复来保证。

JDBC 事务是用 Connection 对象控制的。JDBC Connection 接口( java.sql.Connection )提供了两种事务模式:自动提交和手工提交。 

java.sql.Connection 提供了以下控制事务的方法: 

public void setAutoCommit(boolean) 
public boolean getAutoCommit() 
public void commit() 
public void rollback()

使用 JDBC 事务界定时,您可以将多个 SQL 语句结合到一个事务中。JDBC 事务的一个缺点是事务的范围局限于一个数据库连接。一个 JDBC 事务不能跨越多个数据库。


相关内容

热门资讯

1300亿元人民币,阿根廷:同... 据凤凰卫视报道,阿根廷中央银行8月5日宣布,与中国人民银行延长货币互换协议,规模为1300亿元人民币...
北京化工大学实验室发生安全事故... 8月5日凌晨,北京化工大学发生一起实验室安全事故,一名硕士研究生在实验过程中左手严重受伤。
“婚外胚胎案”原配朱女士回应胚... 近日,“患癌妻子申请销毁丈夫婚外胚胎遭拒案”持续引发关注。就在昨天(8月5日)下午,“患癌妻子朱女士...
马克龙称欧盟及其伙伴将继续加大... 【环球网报道 记者 张江平】据俄罗斯《共青团真理报》报道,对于法国总统马克龙发表关于加大向俄罗斯施压...
韩国外长称将为重启韩朝对话创造... 据凤凰卫视报道,韩国外交部长官赵显8月5日总统工作报告后召开记者会。有关朝鲜问题,他表示,为奠定半岛...
比矿泉水还轻的12英寸平板:华... 【环球网科技报道 记者 张阳】平板电脑市场近年来的发展并不乐观,据国际数据公司(IDC)预测,202...
“一箭双星” 捷龙三号海上发射... 封面新闻记者 边雪 8月5日10时38分,捷龙三号运载火箭在山东海阳附近海域点火升空,随后以“一箭双...
这届AI办公,名字比产品还难用 头图及封面来源 | GPT ChatGPT Work、Claude Cowork、Microsoft...
2026年8月12日地球将失去... 今年早些时候,一则“2026年8月12日地球将失重7秒、数千万人因此伤亡”的所谓“末日警告”在网络热...