con = GetDBConnection.connectDB(DBName, userName, password); ResultSet rs; try { PreparedStatement ps = con.prepareStatement("select * from books;"); rs = ps.executeQuery(); while (rs.next()) { int bookid = rs.getInt("bookid"); String bookname = rs.getString("bookname"); String bookauthor = rs.getString("bookauthor"); System.out.printf("%d\t", bookid); System.out.printf("%s\t", bookname); System.out.printf("%s\n", bookauthor); } con.close(); } catch (SQLException e) { System.out.println(e.getMessage()); }
时间: 2024-04-02 10:31:28 浏览: 17
这段代码是 Java 语言中的数据库操作代码,其作用是从指定的数据库中读取名为 `books` 的数据表中的所有数据,然后输出到控制台上。
具体来说,`con = GetDBConnection.connectDB(DBName, userName, password);` 这行代码是通过调用 `GetDBConnection` 类中的 `connectDB` 方法连接到指定的数据库,其中 `DBName`、`userName` 和 `password` 分别是数据库的名称、用户名和密码。
接着,使用 `PreparedStatement` 对象执行 SQL 查询语句 `select * from books;`,并将查询结果存储在 `ResultSet` 对象 `rs` 中。然后使用 `while (rs.next())` 循环遍历查询结果集,将每一行数据中的 `bookid`、`bookname` 和 `bookauthor` 字段值分别存储在变量 `bookid`、`bookname` 和 `bookauthor` 中,然后使用 `System.out.printf()` 方法将它们输出到控制台上。
最后,在 `try` 块的末尾关闭数据库连接。
如果在执行过程中出现了 SQL 异常,比如语法错误或数据访问错误,将会在控制台上输出异常信息。
相关问题
public static void add() { con = GetDBConnection.connectDB(DBName, userName, password); }利用Java和这个框架写一个增加图书
假设你已经有一个 Book 类,包含属性如下:
```
public class Book {
private int id;
private String title;
private String author;
private String publisher;
private int year;
private double price;
// getters and setters
}
```
那么你可以按照如下的步骤来写一个增加图书的函数:
1. 在数据库中创建一个表,用于存储图书信息。假设表名为 `books`,包含如下字段:
```
id int(11) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
author varchar(255) NOT NULL,
publisher varchar(255) NOT NULL,
year int(4) NOT NULL,
price double NOT NULL,
PRIMARY KEY (id)
```
2. 在 GetDBConnection 类中编写一个静态方法来获取数据库连接,例如:
```
public static Connection connectDB(String dbName, String userName, String password) throws SQLException {
String url = "jdbc:mysql://localhost/" + dbName;
Connection con = DriverManager.getConnection(url, userName, password);
return con;
}
```
3. 编写一个静态方法来添加图书信息,例如:
```
public static void addBook(Book book) throws SQLException {
con = GetDBConnection.connectDB(DBName, userName, password);
String sql = "INSERT INTO books (title, author, publisher, year, price) VALUES (?, ?, ?, ?, ?)";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1, book.getTitle());
ps.setString(2, book.getAuthor());
ps.setString(3, book.getPublisher());
ps.setInt(4, book.getYear());
ps.setDouble(5, book.getPrice());
ps.executeUpdate();
ps.close();
con.close();
}
```
在这个方法中,我们首先获取数据库连接,然后使用 PrepareStatement 对象来执行 SQL 语句。我们将 Book 对象的属性作为参数设置到 PreparedStatement 对象中,然后执行 `executeUpdate()` 方法来执行 SQL 语句,将图书信息添加到数据库中。最后,记得关闭 PrepareStatement 和 Connection 对象。
4. 在主程序中调用 addBook() 方法,例如:
```
public static void main(String[] args) {
Book book = new Book();
book.setTitle("Java Programming");
book.setAuthor("John Smith");
book.setPublisher("Wiley");
book.setYear(2021);
book.setPrice(59.99);
try {
GetDBConnection.addBook(book);
System.out.println("Book added successfully!");
} catch (SQLException e) {
e.printStackTrace();
}
}
```
这段代码创建一个 Book 对象,设置属性,然后调用 addBook() 方法将图书信息添加到数据库中。如果添加成功,程序会输出 "Book added successfully!"。如果添加失败,程序会打印出 SQLException 的堆栈信息。
javaFX读取txt文件并写入数据库
以下是JavaFX读取txt文件并将其写入数据库的示例代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Main {
private static final String FILE_PATH = "path/to/your/file.txt";
private static final String INSERT_QUERY = "INSERT INTO your_table_name (column1, column2) VALUES (?, ?)";
public static void main(String[] args) {
try {
Connection connection = DatabaseConnection.getDBConnection();
PreparedStatement statement = connection.prepareStatement(INSERT_QUERY);
BufferedReader reader = new BufferedReader(new FileReader(FILE_PATH));
String line;
while ((line = reader.readLine()) != null) {
String[] data = line.split(",");
statement.setString(1, data[0]);
statement.setString(2, data[1]);
statement.executeUpdate();
}
reader.close();
statement.close();
connection.close();
} catch (SQLException e) {
System.out.println(e.getMessage());
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
```
在这个示例中,我们首先定义了一个常量 FILE_PATH,它是指向我们要读取的txt文件的路径。然后,我们定义了一个常量 INSERT_QUERY,它是用于将数据插入数据库的SQL查询。
我们使用BufferedReader从文本文件中读取每一行数据,然后将其拆分为逗号分隔的值。我们然后将这些值插入到数据库中,使用PreparedStatement对象来执行INSERT_QUERY。
请注意,我们在代码中使用了DatabaseConnection类,这是我们在先前答案中提供的连接到数据库的类。确保在使用此示例代码之前将其包含在您的项目中。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)