JDBC(Java Database Connectivity)是Java开发中常用的一种技术。它提供了一种标准的接口,使得Java程序可以方便地与各种数据库交互。本文将介绍JDBC连接SQL数据库的过程,从入门到精通。
1. JDBC介绍
JDBC是一种Java语言编写的应用程序接口,用于访问与处理数据库中的数据。它本质上是一个规范,要求Java程序必须能够在运行时连接数据源、执行SQL语句,并将结果返回给程序。JDBC规范定义了一套标准接口,使得Java程序可以与不同的数据库交互,而不需要考虑数据库厂商或操作系统的差异。
2. JDBC驱动
在Java程序中,要使用JDBC来与数据库交互,首先需要通过驱动程序连接数据库。JDBC驱动程序提供了一种将Java应用程序和数据库连接的方法。根据JDBC规范,Java应用程序需要通过驱动程序连接数据库,从而访问和处理数据。
JDBC驱动程序分为4种类型:
– 类型1:JDBC-ODBC桥接驱动,通过ODBC访问数据库(不推荐使用)。
– 类型2:纯Java的驱动,通过本地协议访问数据库。
– 类型3:中间件的驱动,通过中间件访问数据库。
– 类型4:本地的协议驱动,直接通过网络协议访问数据库。
对于Java程序而言,通常使用纯Java的驱动或本地的协议驱动,较少使用其他类型驱动。
3. JDBC连接
在Java程序中,连接数据库的步骤如下:
– 加载JDBC驱动程序
– 注册驱动类
– 创建连接对象
– 创建查询语句
– 执行查询语句
– 处理结果集
– 关闭连接
下面我们通过一个简单的例子来演示连接SQL Server数据库的过程。
首先我们需要添加SQL Server JDBC驱动程序到项目中。可以从maven中央仓库中找到最新版的SQL Server JDBC驱动程序,如下所示:
“`
com.microsoft.sqlserver
mssql-jdbc
9.4.0.jre11
“`
在代码中加载驱动程序:
“`
// 加载驱动程序
Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);
“`
接着注册驱动类:
“`
// 注册驱动
DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());
“`
创建连接对象:
“`
// 创建连接对象
String url = “jdbc:sqlserver://localhost:1433;DatabaseName=TestDB”;
Connection conn = DriverManager.getConnection(url, “sa”, “123456”);
“`
在创建连接对象时,需要指定数据库的URL、用户名和密码。对于SQL Server数据库而言,URL的格式为“jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]”。
创建查询语句:
“`
// 创建查询语句
String sql = “SELECT * FROM T_User WHERE id=?”;
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, id);
“`
执行查询语句:
“`
// 执行查询语句
ResultSet rs = ps.executeQuery();
“`
处理结果集:
“`
// 处理结果集
while (rs.next()) {
int id = rs.getInt(“id”);
String name = rs.getString(“name”);
String password = rs.getString(“password”);
System.out.printf(“id=%d, name=%s, password=%s%n”, id, name, password);
}
“`
最后关闭连接:
“`
// 关闭连接
rs.close();
ps.close();
conn.close();
“`
4. JDBC事务
在数据库操作中,如果需要在多个SQL语句之间保持一致性,需要使用事务。事务是对一组SQL语句的执行过程进行控制的机制,确保它们作为一个单独的、不可分割的工作单元执行。
在Java程序中,使用JDBC实现事务的过程如下:
– 创建连接对象
– 开始事务
– 执行SQL语句1
– 执行SQL语句2
– ……
– 执行SQL语句n
– 提交事务或回滚事务
– 关闭连接
下面我们通过一个简单的例子来演示JDBC事务的使用过程。
“`
// 创建连接对象
Connection conn = DriverManager.getConnection(url, “sa”, “123456”);
try {
// 开始事务
conn.setAutoCommit(false);
// 执行SQL语句1
String sql1 = “UPDATE T_User SET password=? WHERE id=?”;
PreparedStatement ps1 = conn.prepareStatement(sql1);
ps1.setString(1, newPassword);
ps1.setInt(2, id);
ps1.executeUpdate();
// 执行SQL语句2
String sql2 = “INSERT INTO T_Log VALUES(?,?)”;
PreparedStatement ps2 = conn.prepareStatement(sql2);
ps2.setInt(1, id);
ps2.setString(2, “Change Password”);
ps2.executeUpdate();
// 提交事务
conn.commit();
} catch (Exception e) {
// 回滚事务
conn.rollback();
} finally {
// 关闭连接
conn.close();
}
“`
在这个例子中,我们先创建连接对象,并在try块中开始事务。然后执行两个SQL语句,分别是修改密码和添加日志。如果有任何一个SQL语句执行失败,就执行回滚操作,否则提交事务。最后关闭连接。
5.
本文介绍了JDBC连接SQL数据库的过程,包括驱动、连接、SQL语句、结果集和事务等。JDBC是Java编程中非常重要的一种技术,掌握它可以帮助Java开发者更好地与各种数据库交互,提升程序的效率和可靠性。
相关问题拓展阅读:
注册
DriverManager.registerDriver(driver);
加载:
使用JDBC-ODBC桥驱动程序的语句如下:
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
使用Oracle8i的JDBC驱动程序的语句如下:
Class.forName(“oracle.jdbc.driver.OracleDriver”);
JDBC连接由数据库 URL标识
jdbc::
如:jdbc:odbc:;User=;PW=
建立连接 方法
DriverManager类的getConnection()方岩察凳法:
public static Connection getConnection(String url, String user, String password) throws SQLException
即:
Connection conn = DriverManager.getConnection(URL,
login_name, login_password);
Statement 对象将 SQL 语句发送到 DBMS
由Connection的createStatement()方法创建Statement对象:
public Statement createStatement() throws SQLException
通常
Statement stmt = conn.createStatement();
Statement 对象的方法:
executeUpdate()
用来创建和更新表
stmt.executeUpdate(query);
executeQuery()
对于SELECT 语句
stmt.executeQuery(query);
execute()
stmt.execute();
返回布尔值,用于执行任何 SQL 语句,返回多个结果集的情况
通常:
ResultSet rs = stmt.executeQuery(query);
一个简单的对Oracle的例子。
import java.net.URL;
import java.sql.*;
import oracle.jdbc.driver.*;
Class.forName(“oracle.jdbc.driver.OracleDriver”);
Connection con = DriverManager.getConnection(“jdbc:oracle:oci8:@oradb”, “scott”, “tiger”);
Statement stmt = conn.createStatement();
ResultSet r = stmt.executeQuery(“SELECT a,b,c FROM Table1”);
While(r.next()){
int i = r.getInt(“a”);
String s = r.getString(“b”);
float f = r.getFloat(“c”);
System.out.println(“ROW=”+i+”没李 “+s+” “+f);
}
stmt.close();
con.close();
一个使用粗旅ODBC的例子。
创建学生表student。此表有三个字段:学号(id)、姓名(name)及成绩(score)。
import java.sql.*; //引入java.sql包
public class c15_1{
public static void main(String args) {
String JDriver = “sun.jdbc.odbc.JdbcOdbcDriver”; //声明JDBC驱动程序对象
String conURL=”jdbc:odbc:TestDB”; //定义JDBC的URL对象
try {
Class.forName(JDriver); //加载JDBC-ODBC桥驱动程序
}
catch(java.lang.ClassNotFoundException e) {
System.out.println(“ForName :” + e.getMessage( ));
}
try {
Connection con=DriverManager.getConnection(conURL); //连接数据库URL
Statement s=con.createStatement( ); //建立Statement类对象
String query = “create table student ( ”
+ “id char(10),”
+ “name char(15),”
+ “score integer”
+ “)”; //创建一个含有三个字段的学生表student
s.executeUpdate(query); //执行SQL命令
s.close( ); //释放Statement所连接的数据库及JDBC资源
con.close( ); //关闭与数据库的连线
}
catch(SQLException e){ System.out.println(“SQLException: ” +e.getMessage( )); }
}
}
补充:Jar 是Java的程序包.
二楼的:数据库连接册清池底层实现也是用JDBC!COPY代码的话,假如需求变更又不熟悉原理改如何修改呢?网上可没有100%符州胡前合老板的需求的代码呀!
一楼的连接过程做锋很对只是 数据库URL有点问题。
首先你要确认导入了JDBC驱动Jar包和SQL2023驱动Jar包
public class MSDBdemo {
public static void main(String args){
try{
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();
System.out.println(“数据库驱动程序注册成功!”);
String url =”jdbc:microsoft:
// localhost 可以换成你的数据库IP。northwind可以换成你的数据库名字。
String user = “sa”; //换成你的用户名
String password = “”; //换成你的密码
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println(“数据库连接成功”);
}catch(Exception e){
e.printStackTrace();
System.out.println(“数据库连接失败”);
}
}
}
试试吧
加油!
你们回答了很多,但是偏题了,他是问需要什么,当然是需要一个数据库呢,然后要个jdk,
为什么给人净教些让陵没用的??你现在开发还用JDBC-ODBC?傻子历滑孙么? 写个数肢链据库连接池就行了 ,,具体怎么写 找个代码网站查下, 楼上的方式极度不可取! 蒙小孩的东西
我选择的是SQL Server 2023数据库,操作系统是XP,下面把配置的整个过程描述一遍: (1)安装SQL Server 2023数据库。 在XP下,是不能安装SQL Server 2023数据库的企业版的,可以安装标准版或者开发版,评估版也可以。我选择的是开发版。安装的时候我是把光盘中的内容先栲到硬盘,从硬盘安装的。因为直接从光盘安装总是有一些文件不能拷贝,从而导致中断安装过程。 (2)安装Sql2ksp3.exe文件 这个文件是用来对SQL Server 2023数据库从sp1升级到sp3的,因为用JDBC与SQL Server 2023数据库连接,必须要求它是SP3或者SP4的。这个安装文件可以从Microsoft的技术Support网页下载。大概有55M左右,我是从某个FTP下载的,因为这样速度比较快。特别需要注意的是,如果你的SQL Server 2023数据库是中文版的,那么Sql2ksp3.exe也应该是中文版的。所以需要下载chs_Sql2ksp3.exe.安装这个文件是首先解压缩到一个文件夹,默认是sql2ksp3,然后运行这个文件夹里的setup.exe就可以安装。(3)安装JDBC的驱动程序 从网上找到一个针对SP3数据库的JDBC驱动程序,直接运行安装,成功安装之后,会出现开始—程序—Microsoft sql server 2023 driver for jdbc.驱动程序安装完成之后,默认在C盘生成一个文件夹Microsoft sql server 2023 driver for jdbc里有一个lib的文件夹里有三个*.jar文件,直接把它们拷贝到tomcat\commn\lib即可。(4)端口1433 在成功完成上述操作之后,用JDBC与sql server 2023 driver 需要用到1433端口,可以在DOS下,通过命令netstat -a -n 查看该端口是否打开。如果没有打开是不能进行数据库的连接的。(5)写程序与数据库连接。
jdbc连接sql数据库事例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于jdbc连接sql数据库事例,JDBC连接SQL数据库实例:从入门到精通,jdbc与sql2023的连接需要些什么东西…例子等,XP操作系统下,JDBC如何连接SQL Server 2023数据库的信息别忘了在本站进行查找喔。
香港服务器选创新互联,2H2G首月10元开通。
创新互联(www.cdcxhl.com)互联网服务提供商,拥有超过10年的服务器租用、服务器托管、云服务器、虚拟主机、网站系统开发经验。专业提供云主机、虚拟主机、域名注册、VPS主机、云服务器、香港云服务器、免备案服务器等。
分享文章:JDBC连接SQL数据库实例:从入门到精通(jdbc连接sql数据库事例)
网页网址:http://www.shufengxianlan.com/qtweb/news4/417854.html
成都网站建设公司_创新互联,为您提供云服务器、网站营销、微信小程序、建站公司、App设计、搜索引擎优化
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联