下面我将详细讲解“Java使用JDBC连接数据库”的完整攻略。
JDBC简介
JDBC (Java Database Connectivity)是Java连接数据库的标准API,提供了一套访问不同数据库的标准接口。使用JDBC能够实现操作多种关系型数据库的一致性。
JDBC连接数据库的准备
在使用JDBC访问数据库之前,需要先完成以下准备工作:
- 安装JDBC驱动程序:不同数据库需要使用相应的JDBC驱动程序,需要事先下载并安装到本地环境。
- 加载驱动程序:使用Class类的
forName(String className)
方法加载驱动程序类,并在static块中进行初始化。 - 获取连接对象:调用DriverManager类的
getConnection(String url, String user, String password)
方法获取连接对象Connection。
假设已经安装了MySQL数据库,并下载了相应的MySQL JDBC驱动程序mysql-connector-java-x.x.x.jar
,在项目中需要将该驱动程序添加到依赖中。
JDBC连接数据库的示例一
下面以连接MySQL数据库为例,讲述如何使用JDBC连接数据库,并执行一条简单的查询语句。
- 加载驱动程序
// 加载驱动程序
Class.forName("com.mysql.jdbc.Driver");
- 获取连接对象
// 获取连接对象
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false";
String user = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, user, password);
其中url
参数中的useUnicode=true
和characterEncoding=utf8
表示使用UTF-8编码,useSSL=false
表示不使用SSL加密。
- 执行查询语句
// 执行查询语句
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * from user");
while (rs.next()) {
System.out.println(rs.getString("name") + ":" + rs.getInt("age"));
}
示例中使用Statement对象发送一条查询语句,并使用ResultSet对象获取返回的查询结果。
JDBC连接数据库的示例二
下面以连接SQLite数据库为例,讲述如何使用JDBC连接数据库,并执行一条插入语句。
- 加载驱动程序
// 加载驱动程序
Class.forName("org.sqlite.JDBC");
- 获取连接对象
// 获取连接对象
String url = "jdbc:sqlite:test.db";
Connection conn = DriverManager.getConnection(url);
SQLite数据库使用本地文件作为数据库文件,示例中使用的数据库文件为test.db
。
- 执行插入语句
// 执行插入语句
Statement stmt = conn.createStatement();
stmt.executeUpdate("INSERT INTO user (name, age) VALUES ('Tom', 20)");
示例中使用Statement对象发送一条插入语句,并使用executeUpdate方法执行。
以上两个示例中,使用了不同的数据库和不同的SQL语句,但是连接过程都是相同的。需要注意的是,JDBC连接数据库操作完成后需要手动关闭连接对象、语句对象和结果集对象等资源。可以在finally块中统一关闭这些资源。
// 关闭资源
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
希望以上内容对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java使用JDBC连接数据库 - Python技术站