针对"java连接mysql数据库的方法",我可以提供以下完整攻略:
1. 导入mysql的驱动包
在使用Java进行连接MySQL数据库之前,我们首先需要导入mysql的驱动包。可以从MySQL官方网站下载最新的版本并解压,或者去Maven仓库搜索下载最新版本。
假设我们将下载的驱动包保存在项目根目录下的lib
文件夹中,那么就需要在项目的pom.xml
中添加以下依赖:
<!-- MySQL JDBC 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
<scope>compile</scope>
<systemPath>${basedir}/lib/mysql-connector-java-8.0.23.jar</systemPath>
</dependency>
2. 编写数据库连接代码
在成功导入MySQL的驱动包之后,我们需要编写Java代码以连接MySQL数据库。一般来说,我们需要完成以下步骤:
- 加载MySQL驱动程序
- 通过
DriverManager
获取数据库连接 - 创建SQL语句并执行
以下是一个最简单的例子:
import java.sql.*;
public class ConnectionTest {
public static void main(String[] args) {
// 定义MySQL连接信息
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false";
String username = "root";
String password = "123456";
// 加载MySQL驱动程序
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("未找到MySQL驱动程序");
e.printStackTrace();
return;
}
// 通过DriverManager获取数据库连接
Connection conn;
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
System.out.println("连接数据库失败");
e.printStackTrace();
return;
}
// 执行SQL语句
Statement stmt;
ResultSet rs;
try {
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM user");
while (rs.next()) {
System.out.println(rs.getString("username") + ", " + rs.getString("password"));
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
System.out.println("执行SQL语句失败");
e.printStackTrace();
}
}
}
在这个例子中,我们首先定义了MySQL数据库的连接信息,然后通过Class.forName()
方法加载MySQL驱动程序。接着,我们调用DriverManager.getConnection()
方法获取数据库连接,最后使用conn.createStatement().executeQuery()
方法执行查询语句并遍历结果集。
3. 另一个例子
以下是另一个例子,演示如何使用PreparedStatement
进行SQL语句的预编译和参数设置:
import java.sql.*;
public class ConnectionTest2 {
public static void main(String[] args) {
// 定义MySQL连接信息
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false";
String username = "root";
String password = "123456";
// 加载MySQL驱动程序
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("未找到MySQL驱动程序");
e.printStackTrace();
return;
}
// 通过DriverManager获取数据库连接
Connection conn;
try {
conn = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
System.out.println("连接数据库失败");
e.printStackTrace();
return;
}
// 执行SQL语句
PreparedStatement pstmt;
ResultSet rs;
try {
pstmt = conn.prepareStatement("SELECT * FROM user WHERE username=? AND password=?");
pstmt.setString(1, "张三");
pstmt.setString(2, "123456");
rs = pstmt.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("username"));
}
rs.close();
pstmt.close();
conn.close();
} catch (SQLException e) {
System.out.println("执行SQL语句失败");
e.printStackTrace();
}
}
}
在这个例子中,我们使用了PreparedStatement
进行SQL语句的预编译,并使用setString()
方法设置参数值。这种方式可以避免SQL注入攻击。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java连接mysql数据库的方法 - Python技术站