图书馆维护人员想要查看书名以及各自的作者名。数据库采用SQLServer2005,首先写出创建数据库和相关表的SQL语句,并在表中插入几行数据,然后用java写出详细完整的代码。
编写代码以显示这些详细信息!!!!
- 提问者网友:却不属于对方
- 2021-05-01 23:46
- 五星知识达人网友:掌灯师
- 2021-05-02 00:58
数据库的建立应该不用再讲了吧,现在讲使用JAVA与数据库进行交互
使用JDBC进行数据库的增删改查操作
1.下载Microsoft SQL Server 2005 JDBC 驱动包jar文件
将jar文件引入工程中
2.封装数据库链接的获取和关闭操作
import java.sql.*;
public class BaseDao {
private static final String DRIVE = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=bbs";
private static final String USER = "sa";
private static final String PASSWORD = "";
public static Connection getConnection() throws Exception {
Class.forName(DRIVE);
return DriverManager.getConnection(URL, USER, PASSWORD);
}
public static void closeAll(ResultSet resultSet, PreparedStatement pst,
Connection connection) throws Exception {
if (resultSet != null)
resultSet.close();
if (pst != null)
pst.close();
if (connection != null)
connection.close();
}
}
3.创建图书的实体类
public class Book {
private Long id;
private String author;
private String name;
public Book() {
}
public Book(Long id, String author, String name) {
this.id = id;
this.author = author;
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4.创建与图书表交互的工具类
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class BookDao {
public void addBook(Book book) throws Exception {
// 连接
Connection connection = null;
// 执行语句
PreparedStatement pst = null;
try {
connection = BaseDao.getConnection();
// 构造执行语句
String sql = "insert into book values(" + book.getAuthor() + ","
+ book.getName() + ")";
pst = connection.prepareStatement(sql);
pst.executeUpdate();
} catch (Exception e) {
// 抛出异常
throw e;
} finally {
// 无论是否异常 均关闭数据库
BaseDao.closeAll(null, pst, connection);
}
}
public List<Book> getBooks() throws Exception {
// 用于存放查寻结果的集合
List<Book> books = new ArrayList<Book>();
// 连接
Connection connection = null;
// 执行语句
PreparedStatement pst = null;
// 查询结果
ResultSet resultSet = null;
try {
connection = BaseDao.getConnection();
// 构造查询语句
String sql = "select * from book";
pst = connection.prepareStatement(sql);
resultSet = pst.executeQuery();
// 循环读取查询结果行
while (resultSet.next()) {
// getXXX的参数为数据表列名
Book book = new Book(resultSet.getLong("id"), resultSet
.getString("author"), resultSet.getString("name"));
// 将封装好的图书对象存入集合
books.add(book);
}
} catch (Exception e) {
// 抛出异常
throw e;
} finally {
// 无论是否异常 均关闭数据库
BaseDao.closeAll(resultSet, pst, connection);
}
// 返回查询结果
return books;
}
}
当然 以上只是简单的封装 初学者可以在理解以上代码的基础上 进行更高级的封装
5.使用BookDao添加书籍和获取所有书籍列表
import java.util.List;
public class Test {
public static void main(String[] args) throws Exception {
//创建工具类对象
BookDao dao = new BookDao();
//创建一本图书
Book book = new Book(null,"QQ:495691293","编程菜鸟");
//添加书籍到数据库
dao.addBook(book);
//获取所有图书列表
List<Book> books = dao.getBooks();
//输出结果
for (Book b : books) {
System.out.println(b.getId()+"\t"+b.getAuthor()+"\t"+b.getName());
}
}
}
- 1楼网友:煞尾
- 2021-05-02 01:50
建议你自己写,又不是很难。
1.创建库和相关表 完全可以手动拖拽式完成,完成后也可以反向生成建库建表的SQL语句。
2.写个JDBC用于数据库连接,实在不会的话可以上网搜下,多的是。
3.写个insert into语句不就完了,很简单。不会M我就行