下面我们详细讲解一下“MySQL实现JDBC详细步骤”的完整攻略。
什么是JDBC?
JDBC是Java语言中访问关系型数据库的应用程序接口,作为Oracle公司为开发者提供的数据库访问技术之一,主要用于在Java应用程序中进行数据库操作,同时也可以与其他编程语言进行协作。
MySQL实现JDBC详细步骤
下面将为大家详细介绍如何使用MySQL实现JDBC。
步骤1:安装MySQL
首先,我们需要在本地安装MySQL数据库,可以到官网下载相应的安装包并进行安装。
步骤2:导入MySQL驱动包
在Java程序中使用JDBC操作数据库,需要将相应的数据库驱动程序放在classpath中,这里我们下载MySQL官方提供的驱动,将其存放到工程的lib目录下,并在项目中配置classpath。
示例代码:
<!-- MySQL驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
步骤3:连接数据库
在Java程序中连接MySQL数据库,需要使用JDBC提供的Connection
接口,通过调用DriverManager.getConnection()
方法来创建连接。
示例代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil {
private static Connection conn = null;
private static String driver = "com.mysql.cj.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC";
private static String username = "root";
private static String password = "123456";
static {
try {
// 加载驱动,建立连接
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 获取连接对象
*/
public static Connection getConnection() {
return conn;
}
/**
* 关闭连接
*/
public static void close() {
try {
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
步骤4:执行SQL语句
有了连接对象,我们就可以执行SQL语句了,这里使用Java中的PreparedStatement
类来执行预编译SQL语句。
示例代码:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 获取连接对象
conn = DBUtil.getConnection();
// 构造SQL语句
String sql = "SELECT * FROM users WHERE id = ?";
// 创建PreparedStatment对象,设置参数
ps = conn.prepareStatement(sql);
ps.setInt(1, 1);
// 执行SQL语句,获取结果集
rs = ps.executeQuery();
// 遍历结果集
while (rs.next()) {
System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("email") + ", " + rs.getString("password"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接
DBUtil.close(rs, ps, conn);
}
}
}
步骤5:关闭连接
连接使用完成后,需要将其关闭,释放资源。这里我们在DBUtil类中添加一个静态方法close()
,用于关闭连接。
示例代码:
/**
* 关闭连接
*/
public static void close(ResultSet rs, Statement stmt, Connection conn) {
try {
if (rs != null) {
rs.close();
rs = null;
}
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
示例
接下来,我们看一下如何使用Java程序连接MySQL数据库,执行SQL语句并输出查询结果。
示例1:查询数据库中的记录
- 创建一个名为
db_test
的数据库; - 在
db_test
数据库中创建一个名为users
的表,包含id(int), name(varchar), email(varchar)和password(varchar)四个字段; - 向
users
表中插入一条记录,id为1,name为"test",email为"test@test.com",password为"123456"; - 在IntelliJ IDEA中创建一个Maven工程,并在pom.xml中添加MySQL驱动包的依赖;
- 创建DBUtil类,实现连接数据库、执行SQL语句、关闭连接等功能;
- 创建Test类,编写查询SQL语句的代码;
- 运行程序,输出查询结果。
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
// 获取连接对象
conn = DBUtil.getConnection();
// 构造SQL语句
String sql = "SELECT * FROM users WHERE id = ?";
// 创建PreparedStatment对象,设置参数
ps = conn.prepareStatement(sql);
ps.setInt(1, 1);
// 执行SQL语句,获取结果集
rs = ps.executeQuery();
// 遍历结果集
while (rs.next()) {
System.out.println(rs.getInt("id") + ", " + rs.getString("name") + ", " + rs.getString("email") + ", " + rs.getString("password"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接
DBUtil.close(rs, ps, conn);
}
}
}
输出结果为:
1, test, test@test.com, 123456
示例2:向数据库中插入记录
- 创建一个名为
db_test
的数据库; - 在
db_test
数据库中创建一个名为users
的表,包含id(int), name(varchar), email(varchar)和password(varchar)四个字段; - 在IntelliJ IDEA中创建一个Maven工程,并在pom.xml中添加MySQL驱动包的依赖;
- 创建DBUtil类,实现连接数据库、执行SQL语句、关闭连接等功能;
- 创建Test类,编写插入SQL语句的代码;
- 运行程序,执行插入SQL语句。
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Test {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
try {
// 获取连接对象
conn = DBUtil.getConnection();
// 构造SQL语句
String sql = "INSERT INTO users VALUES (?, ?, ?, ?)";
// 创建PreparedStatment对象,设置参数
ps = conn.prepareStatement(sql);
ps.setInt(1, 2);
ps.setString(2, "test2");
ps.setString(3, "test2@test.com");
ps.setString(4, "123456");
// 执行SQL语句,获取结果集
int result = ps.executeUpdate();
if (result == 1) {
System.out.println("插入成功!");
} else {
System.out.println("插入失败!");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭连接
DBUtil.close(ps, conn);
}
}
}
执行成功后,数据库中应该会新增一条记录。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL实现JDBC详细步骤 - Python技术站