2.1.3 JDBC执行SQL语句
优质
小牛编辑
138浏览
2023-12-01
下面给出一个例子来演示一下如何使用JDBC来执行各种SQL语句,其中包括DDL语句(建立数据库和数据表)、INSERT语句和SELECT语句。
1.程序分析说明
本程序首先创建一个mydb数据库(如果存在就不创建),然后创建一个用于保存图书信息的表t_books(如果存在,删除后再创建),最后向表中插入两条记录,并查询和显示其中的第2条记录。
2.代码编写
本程序使用了Statement接口的execute方法来执行DDL和INSERT语句,使用executeQuery方法来执行SELECT语句,程序的实现代码如下:
package chapter2;
import java.sql.*;
public class ExecuteDemo
{
public static void main(String[] args) throws Exception
{
// 装载JDBC驱动
Class.forName("com.mysql.jdbc.Driver");
// 获得Connection对象
Connection conn = DriverManager
.getConnection("jdbc:mysql://localhost/?characterEncoding=UTF8",
"root", "1234");
// 获得Statement对象
Statement stmt = conn.createStatement();
String createDB = "CREATE DATABASE IF NOT EXISTS mydb DEFAULT CHARACTER SET UTF8";
String dropTable = "DROP TABLE IF EXISTS mydb.t_books";
String createTable = "CREATE TABLE mydb.t_books (id int unsigned NOT NULL"
+ " auto_increment, name varchar(50) NOT NULL,isbn varchar(20)"
+ "NOT NULL, author varchar(20) NOT NULL,price int unsigned,"
+ " PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=UTF8";
String insertData1 = "INSERT INTO mydb.t_books(name,isbn,author,price) values("
+ "'人月神话', '6787102165345', '布鲁克斯', 52)";
String insertData2 = "INSERT INTO mydb.t_books(name,isbn,author,price) values("
+ "'Ajax基础教程', '5643489212407', '阿斯利森', 73)";
String selectData = "SELECT * FROM mydb.t_books where id=2";
// 建立数据库、表,并插入数据
stmt.execute(createDB);
stmt.execute(dropTable);
stmt.execute(createTable);
stmt.execute(insertData1);
stmt.execute(insertData2);
// 从数据库中查询数据
ResultSet result = stmt.executeQuery(selectData);
// 显示查询结果
while (result.next())
{
System.out.print(result.getString("id") + " ");
System.out.print(result.getString("name") + " ");
System.out.print(result.getString("isbn") + " ");
System.out.print(result.getString("author") + " ");
System.out.println(result.getInt("price"));
}
// 关闭Statement和Connection对象
stmt.close();
conn.close();
}
}
在上面的代码中由于数据库mydb可能不存在,所以在连接字符串中并没有指定数据库名。因此,在使用mydb中的表时必须指定数据库名,如代码中的mydb.t_books。
3.程序总结
通过上面的示例,读者可以对JDBC操作数据库的基本流程和基本方法有了一个初步的了解。在本章接下来的部分,将详细讲解JDBC API的核心功能的使用方法。