JDBC连接SQL数据库实例:从入门到精通 (jdbc连接sql数据库事例)

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开发者更好地与各种数据库交互,提升程序的效率和可靠性。

相关问题拓展阅读:

jdbc与sql2023的连接需要些什么东西…例子等

注册

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?傻子历滑孙么? 写个数肢链据库连接池就行了 ,,具体怎么写 找个代码网站查下, 楼上的方式极度不可取! 蒙小孩的东西

XP操作系统下,JDBC如何连接SQL Server 2023数据库

我选择的是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数据库的信息别忘了在本站进行查找喔。


数据运维技术 » JDBC连接SQL数据库实例:从入门到精通 (jdbc连接sql数据库事例)