JAVA代码连接数据库,数据库内两个表,一个读者表(要求有账号和密码两个数据)进行增查功能,一个图书表(要求有书名,ISBN,作者,出版社四个数据)进行增删改查功能。不用代码建表,连接数据库里的表
时间: 2024-03-08 18:47:43 浏览: 14
好的,以下是JAVA代码连接数据库,并进行读者表和图书表的增删改查操作的示例:
```java
import java.sql.*;
public class DatabaseConnection {
private Connection conn = null;
private Statement stmt = null;
private ResultSet rs = null;
// 数据库连接方法
public void connect() {
String url = "jdbc:mysql://localhost:3306/test"; // 数据库连接地址
String user = "root"; // 数据库用户名
String password = "123456"; // 数据库密码
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载驱动程序
conn = DriverManager.getConnection(url, user, password); // 获取数据库连接
stmt = conn.createStatement(); // 创建Statement对象
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 读者表的增查操作
public void readerTableOperation() {
try {
// 插入数据
stmt.executeUpdate("INSERT INTO reader (account, password) VALUES ('test', '123456')");
// 查询数据
rs = stmt.executeQuery("SELECT * FROM reader");
while (rs.next()) {
String account = rs.getString("account");
String password = rs.getString("password");
System.out.println("account: " + account + ", password: " + password);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 图书表的增删改查操作
public void bookTableOperation() {
try {
// 插入数据
stmt.executeUpdate("INSERT INTO book (name, isbn, author, press) VALUES ('Java编程思想', '978-7-121-11111-1', 'Bruce Eckel', '机械工业出版社')");
// 修改数据
stmt.executeUpdate("UPDATE book SET press='人民邮电出版社' WHERE isbn='978-7-121-11111-1'");
// 删除数据
stmt.executeUpdate("DELETE FROM book WHERE isbn='978-7-121-11111-1'");
// 查询数据
rs = stmt.executeQuery("SELECT * FROM book");
while (rs.next()) {
String name = rs.getString("name");
String isbn = rs.getString("isbn");
String author = rs.getString("author");
String press = rs.getString("press");
System.out.println("name: " + name + ", isbn: " + isbn + ", author: " + author + ", press: " + press);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
// 关闭资源方法
public void close() {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DatabaseConnection db = new DatabaseConnection();
db.connect(); // 连接数据库
db.readerTableOperation(); // 读者表的增查操作
db.bookTableOperation(); // 图书表的增删改查操作
db.close(); // 关闭资源
}
}
```
需要注意的是,该示例中的数据库连接地址、用户名和密码需要根据实际情况进行修改。同时,需要保证数据库中已经存在名为`reader`和`book`的表,且字段的名称和数据类型与代码中的一致。