Java_JDBC连接数据库
Posted 小企鹅推雪球!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_JDBC连接数据库相关的知识,希望对你有一定的参考价值。
文章目录
Java_JDBC简介
JDBC
代表Java数据库连接(Java Data Base Connectivity)
,用于Java编程语言和数据库之间的数据库连接的标准API
JDBC
库包括常见的API有;连接到数据库,创建sql语句,在数据库中执行sql语句,查看和修改结果记录- JDBC是一个连接数据库的规范,JDBC提供了一套接口取访问数据库,
Java_JDBC连接数据库
- 第一步:导入包:需要导入包含数据库编程所需的JDBC类的包,通过使用
import java.sql.*
- 第二步:注册JDBC驱动程序,需要初始化驱动程序,打开与数据库的连接
- 第三步:打开连接,
- 第四步:执行sql语句,将sql语句提交到数据库并执行
- 第五步:从结果集中提取数据,将所需数据从结果集中检索数据
- 第六步:明确的关闭所有数据库资源,不依赖JVM的垃圾收集机制
package com.company;
import com.microsoft.sqlserver.jdbc.SQLServerDriver;
import java.sql.*; // 第一步 导入 JDBC 包
public class JDBC_03 {
public static void main(String[] args) throws Exception {
// JDBC driver name and database URL
final String JDBC_SqlDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // java连接 sql server的驱动
// final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; // Java 连接 mySql 数据库的驱动
final String DatabasesUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=stu"; // Java连接指定数据库地址的语句
String USER = "SA"; // 登录到数据库的用户名
String PASS = "123456"; // 登录密码
// 第二步 注册驱动程序,注册驱动程序有两种方式:
// 第一种使用 Class.forName() 注册驱动
// 第二种使用 registerDriver() 注册驱动
// 第一种注册方法:
// Class.forName 注册驱动程序的方式是将驱动程序的类文件加载到内存中的过程,可以将其用作JDBC接口的实现,只需要在程序中注册一次即可
Class.forName(JDBC_SqlDriver);
// 第二种注册方法:
// registerDriver()
Driver myDriver = new SQLServerDriver();
DriverManager.registerDriver(myDriver);
// 第三部:打开连接 :
System.out.println("正在连接数据库。。。");
Connection conn = null; // 创建连接对象
conn = DriverManager.getConnection(DatabasesUrl,USER,PASS);
// 第四步:执行sql语句
System.out.println("连接成功,准备执行sql语句");
// 创建 Statement 对象,用于执行sql语句
Statement st;
st = conn.createStatement(); // 创建执行对象Statement执行SQL语句,由Connection对象产生
// 定义执行的sql 语句
String sql = "SELECT name, sex, nation From stuInfo";
// executeQuery() 方法用于在数据库中执行 sql 语句,同时将数据库响应的 sql 语句结果存放在 ResultSet 类对象中供我们使用
ResultSet rs = st.executeQuery(sql);
// 第五步:从结果集种提取数据,可以使用 getXXX()方法来检索数据
while (rs.next()){
String name = rs.getString("name");
String sex = rs.getString("sex");
String nation = rs.getString("nation");
System.out.println("name: " + name +"|" + "sex: " +"|" + sex+ "nation:" +"|" + nation);
}
// 第六步:清理资源
rs.close();//清理 返回结果集所占用的资源
st.close();// 清理 Statement 对象所占用的资源
conn.close(); // 清理连接数据库所占用的资源
System.out.println("访问数据库完毕");
}
}
Java_导入JDBC的包
- 使用
import
导入第三方包, 导入java.sql.*
包后,允许在数据库表中执行选择,插入,更新和删除数据
import java.sql.*;
Java_JDBC的驱动程序
- JDBC驱动程序是JDBC API种实现定义等待接口,用于和数据库服务器进行交互
Sql Server
的驱动程序为com.microsoft.sqlserver.jdbc.SQLServerDriver
Mysql
的驱动程序为:com.mysql.jdbc.Driver
JDK
附带的java.sql
包含各种类,java.sql
中的类被定义在第三方驱动程序中完成,- 第三供应商在其数据库驱动程序中实现
java.sql.Driver
接口
Java_使用Class.forName注册驱动程序
- 在使用程序之前,必须先注册该驱动程序
Class.forName
注册驱动程序的方式是将驱动程序的类文件加载到内存中的过程,可以将其用作JDBC接口的实现,只需要在程序中注册一次即可
Class.forName(JDBC_SqlDriver);
Java_使用DriverManager.registerDriver()注册驱动程序
- 使用静态的
DriverManager.registerDriver()
方法注册驱动程序, - 如果使用的是非JDK兼容的JVM(如Microsoft提供的JVM虚拟机),则应该使用
registerDriver()
方法
Driver myDriver = new SQLServerDriver();
DriverManager.registerDriver(myDriver);
Java_JDBC数据库配置
- 在加载驱动程序后,可以使用
DriverManager.getConnection()
方法建立连接, - 三种配置方式如下
getConnection(String url)
getConnection(String url, Properties prop)
getConnection(String url, String user, String password)
final String DatabasesUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=stu"; // Java连接指定数据库地址的语句
System.out.println("正在连接数据库。。。");
Connection conn = null; // 创建连接对象
conn = DriverManager.getConnection(DatabasesUrl,USER,PASS);
- 上例代码中的数据库配置是最常见的,即传入数据库地址,用户名和密码
仅使用数据库url:即在数据库地址中包含用户名和密码
System.out.println("正在连接数据库。。。");
Connection conn = null; // 创建连接对象
String DatabasesUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=stu;user=sa;password=123456";
conn = DriverManager.getConnection(DatabasesUrl);
使用数据库url和properties对象连接数据库
DriverManager.getConnection(String url, Properties info);
Properties
对象包含一组键值对,在调用getConnection()
方法是,用于将驱动程序属性传递给驱动程序
System.out.println("正在连接数据库。。。");
Connection conn = null; // 创建连接对象
String DatabasesUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=stu";
Properties info = new Properties();
info.put("user","sa");
info.put("password","123456");
conn = DriverManager.getConnection(DatabasesUrl,info);
Java_关闭JDBC连接
- 在JDBC程序结束后,显式的需要关闭与数据库的所有连接以结束每个数据库会话
- 如果忘记关闭连接也没有关闭,Java的垃圾收集器将会在清除过时对象时关闭这些连接
- 依靠垃圾收集关闭与数据库的连接不是一种十分理想的方式,所以我们使用
close()
方法关闭连接
// 第六步:清理资源
rs.close();//清理 返回结果集所占用的资源
st.close();// 清理 Statement 对象所占用的资源
conn.close(); // 清理连接数据库所占用的资源
以上是关于Java_JDBC连接数据库的主要内容,如果未能解决你的问题,请参考以下文章
30_数据库_第30天java_jdbc_(DBUtils)_讲义