jdbc mysql preparedstatement_JDBC PreparedStatement实例

以下是使用PreparedStatement以及打开数据连接,执行SQL语句,然后关闭与数据库连接的示例,这个示例中的代码是基于前面章节中完成的环境和数据库设置编写的。

复制以下代码保存到JDBCPreparedStatement.java文件中,编译并运行如下 -

//STEP 1. Import required packages

// detail at http://www.yiibai.com/jdbc/

import java.sql.*;

public class JDBCPreparedStatement {

// JDBC driver name and database URL

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";

static final String DB_URL = "jdbc:mysql://localhost/EMP";

// Database credentials

static final String USER = "root";

static final String PASS = "123456";

public static void main(String[] args) {

Connection conn = null;

PreparedStatement stmt = null;

try{

//STEP 2: Register JDBC driver

Class.forName("com.mysql.jdbc.Driver");

//STEP 3: Open a connection

System.out.println("Connecting to database...");

conn = DriverManager.getConnection(DB_URL,USER,PASS);

//STEP 4: Execute a query

System.out.println("Creating statement...");

String sql = "UPDATE Employees set age=? WHERE id=?";

stmt = conn.prepareStatement(sql);

//Bind values into the parameters.

stmt.setInt(1, 35); // This would set age

stmt.setInt(2, 102); // This would set ID

// Let us update age of the record with ID = 102;

int rows = stmt.executeUpdate();

System.out.println("Rows impacted : " + rows );

// Let us select all the records and display them.

sql = "SELECT id, first, last, age FROM Employees";

ResultSet rs = stmt.executeQuery(sql);

//STEP 5: Extract data from result set

while(rs.next()){

//Retrieve by column name

int id = rs.getInt("id");

int age = rs.getInt("age");

String first = rs.getString("first");

String last = rs.getString("last");

//Display values

System.out.print("ID: " + id);

System.out.print(", Age: " + age);

System.out.print(", First: " + first);

System.out.println(", Last: " + last);

}

//STEP 6: Clean-up environment

rs.close();

stmt.close();

conn.close();

}catch(SQLException se){

//Handle errors for JDBC

se.printStackTrace();

}catch(Exception e){

//Handle errors for Class.forName

e.printStackTrace();

}finally{

//finally block used to close resources

try{

if(stmt!=null)

stmt.close();

}catch(SQLException se2){

}// nothing we can do

try{

if(conn!=null)

conn.close();

}catch(SQLException se){

se.printStackTrace();

}//end finally try

}//end try

System.out.println("Goodbye!");

}//end main

}//end JDBCPreparedStatement

现在编译上面的例子如下 -

## 编译 Java 代码

F:\worksp\jdbc>javac -Djava.ext.dirs=F:\worksp\jdbc\libs JDBCPreparedStatement.java

## 执行 Java 代码

F:\worksp\jdbc>java -Djava.ext.dirs=F:\worksp\jdbc\libs JDBCPreparedStatement

运行JDBCPreparedStatement时,应该会看到输出以下结果 -

1506f6d2263f11f14131c6a3674b6c6c.png

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 连接 MySQL 数据库需要使用 JDBC 驱动,以下是一个简单的示例代码: ```java import java.sql.*; public class Main { public static void main(String[] args) { Connection conn = null; try { // 注册 JDBC 驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 打开连接 System.out.println("连接数据库..."); String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; conn = DriverManager.getConnection(url, user, password); // 执行查询 System.out.println("实例Statement对象..."); Statement stmt = conn.createStatement(); String sql = "SELECT id, name, age FROM student"; ResultSet rs = stmt.executeQuery(sql); // 处理结果集 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("id:" + id + ", name:" + name + ", age:" + age); } // 关闭资源 rs.close(); stmt.close(); conn.close(); } catch (SQLException se) { // 处理 JDBC 错误 se.printStackTrace(); } catch (Exception e) { // 处理 Class.forName 错误 e.printStackTrace(); } finally { // 关闭资源 try { if (conn != null) { conn.close(); } } catch (SQLException se) { se.printStackTrace(); } } System.out.println("Goodbye!"); } } ``` 注意:在实际开发中,为了避免 SQL 注入等安全问题,应使用 PreparedStatement 来代替 Statement。同时,为了提高性能,可以使用连接池来管理数据库连接。 ### 回答2: JDBC(Java Database Connectivity)是一种用于Java编程语言的API,它允许Java程序与各种数据库进行交互。MySQL是一种开放源代码的关系型数据库管理系统,常用于Web应用程序开发中。 要使用JDBC连接MySQL数据库,首先需要下载和安装MySQLJDBC驱动程序。可以从MySQL官方网站下载适合自己使用的JDBC驱动程序版本。下载完成后,需要将驱动程序的JAR文件添加到Java项目的类路径中,以便能够在代码中使用。 在编写Java代码时,需要使用Java的JDBC API进行MySQL数据库的连接和操作。以下是一个简单的示例代码,用于连接MySQL数据库、执行查询并获取结果: ```java import java.sql.*; public class JDBCExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/database_name"; String username = "your_username"; String password = "your_password"; try { // 加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 建立数据库连接 Connection connection = DriverManager.getConnection(url, username, password); // 创建查询语句 String query = "SELECT * FROM table_name"; // 执行查询 Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(query); // 处理查询结果 while (resultSet.next()) { String column1 = resultSet.getString(1); String column2 = resultSet.getString(2); // ... System.out.println(column1 + " - " + column2); } // 关闭数据库连接 resultSet.close(); statement.close(); connection.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在代码中,需要替换`url`、`username`和`password`为MySQL数据库的相应连接信息。`url`用于指定数据库的地址和端口号,`username`和`password`用于指定数据库的登录凭据。 通过JDBC连接MySQL数据库后,可以使用Java的SQL语句执行各种数据库操作,如查询、插入、更新和删除等。 ### 回答3: JDBC是Java语言访问数据库的标准接口,它提供了与数据库进行连接、执行SQL语句、处理结果集等功能。JDBC连接MySQL数据库的过程包括以下几个步骤: 1. 加载数据库驱动:首先需要加载MySQL数据库的JDBC驱动程序,可以通过Class.forName()方法加载特定的驱动类,如"com.mysql.jdbc.Driver"。 2. 建立数据库连接:使用DriverManager.getConnection()方法获取数据库连接对象,传入数据库的URL、用户名和密码等参数。URL中包括了连接的数据库类型、地址、端口等信息。 3. 创建执行SQL的Statement对象:通过连接对象的createStatement()方法创建一个Statement对象,用于执行SQL语句。 4. 执行SQL语句:使用Statement对象的executeQuery()方法执行SQL查询语句,返回一个ResultSet对象,或者使用executeUpdate()方法执行更新操作等。 5. 处理结果集:对于查询语句,可以通过ResultSet对象的next()方法遍历结果集并获取每一条记录的数据。 6. 关闭数据库连接:使用连接对象的close()方法关闭数据库连接,释放资源。 下面是一个简单的示例代码,演示了如何使用JDBC连接MySQL数据库并执行一个查询操作: ```java import java.sql.*; public class JDBCTest { public static void main(String[] args) { try { // 加载MySQL数据库的JDBC驱动 Class.forName("com.mysql.jdbc.Driver"); // 建立数据库连接 String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "123456"; Connection connection = DriverManager.getConnection(url, username, password); // 创建Statement对象 Statement statement = connection.createStatement(); // 执行SQL查询语句 String query = "SELECT * FROM students"; ResultSet resultSet = statement.executeQuery(query); // 遍历结果集并处理数据 while (resultSet.next()) { int id = resultSet.getInt("id"); String name = resultSet.getString("name"); int age = resultSet.getInt("age"); System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age); } // 关闭数据库连接和资源 resultSet.close(); statement.close(); connection.close(); } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); } } } ``` 以上是JDBC连接MySQL数据库的基本步骤和示例代码,具体的操作可以根据实际需求进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值