java单表的增伤改查_JDBC简单增删改查实现(单表)

本文介绍了一个基于Java的图书管理系统中DAO层的具体实现细节,包括图书的增删改查操作。通过使用JDBC进行数据库交互,实现了图书信息的高效管理。

packagecom.zzuli.dao.impl;importcom.zzuli.dao.BookDao;importcom.zzuli.entity.Book;import java.sql.*;importjava.util.ArrayList;importjava.util.List;/*** Created by hejjon on 2019/5/25.*/

public class BookDaoImpl implementsBookDao {private final String jdbcDriver = "com.mysql.jdbc.Driver";private final String url = "jdbc:mysql://localhost:3306/db_book";private final String userName = "root";private final String password = "123123";

@Overridepublic intinsertBook(Book book) {int n = 0;

String sql= "insert into t_book values (default,?,?,?)";

Connection conn= null;

PreparedStatement ps= null;

java.sql.Date pubDate= null;try{//加载驱动

Class.forName(jdbcDriver);//获取连接

conn =DriverManager.getConnection(url, userName, password);//创建会话

ps =conn.prepareStatement(sql);//设置 ? 的值

ps.setString(1, book.getBookName());

ps.setString(2, book.getAuthor());

pubDate= newjava.sql.Date(book.getPubDate().getTime());

ps.setDate(3, pubDate);//执行sql

n =ps.executeUpdate();

}catch(ClassNotFoundException e) {

e.printStackTrace();

}catch(SQLException e) {

e.printStackTrace();

}finally { //关闭数据库资源

try{if (null !=ps) {

ps.close();

}

}catch(SQLException e) {

e.printStackTrace();

}try{if (null !=conn) {

conn.close();

}

}catch(SQLException e) {

e.printStackTrace();

}

}returnn;

}

@Overridepublic int deleteBook(intid) {

String sql= "delete from t_book where id=?";int n = 0;

Connection conn= null;

PreparedStatement ps= null;try{//加载驱动

Class.forName(jdbcDriver);//获取连接

conn =DriverManager.getConnection(url, userName, password);//创建会话

ps =conn.prepareStatement(sql);//设置 ? 的值

ps.setInt(1, id);//执行sql

n =ps.executeUpdate();

}catch(ClassNotFoundException e) {

e.printStackTrace();

}catch(SQLException e) {

e.printStackTrace();

}finally{try{if (null !=ps) {

ps.close();

}

}catch(SQLException e) {

e.printStackTrace();

}try{if (null !=conn) {

conn.close();

}

}catch(SQLException e) {

e.printStackTrace();

}

}returnn;

}

@Overridepublic intupdateBook(Book book) {

String sql= "update t_book set bookName=?, author=?, pubDate=? where id=?";int n = 0;

Connection conn= null;

PreparedStatement ps= null;try{//加载驱动

Class.forName(jdbcDriver);//获取连接

conn =DriverManager.getConnection(url, userName, password);//创建会话

ps =conn.prepareStatement(sql);

ps.setString(1, book.getBookName());

ps.setString(2, book.getAuthor());

ps.setDate(3, newjava.sql.Date(book.getPubDate().getTime()));

ps.setInt(4, book.getId());

n=ps.executeUpdate();

}catch(ClassNotFoundException e) {

e.printStackTrace();

}catch(SQLException e) {

e.printStackTrace();

}finally{try{if (null !=ps) {

ps.close();

}

}catch(SQLException e) {

e.printStackTrace();

}try{if (null !=conn) {

conn.close();

}

}catch(SQLException e) {

e.printStackTrace();

}

}returnn;

}

@OverridepublicBook selectBookByName(String bookName) {

String sql= "select * from t_book where bookName=?";

Book book= null;

Connection conn= null;

PreparedStatement ps= null;

ResultSet rs= null;try{//加载驱动

Class.forName(jdbcDriver);//获取连接

conn =DriverManager.getConnection(url, userName, password);//创建会话

ps =conn.prepareStatement(sql);

ps.setString(1, bookName);

rs=ps.executeQuery();if(rs.next()) {int id = rs.getInt("id");

String name= rs.getString("bookName");

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

java.util.Date pubDate= rs.getDate("pubDate");

book= newBook(id, name, author, pubDate);

}

}catch(ClassNotFoundException e) {

e.printStackTrace();

}catch(SQLException e) {

e.printStackTrace();

}finally{try{if (null !=ps) {

ps.close();

}

}catch(SQLException e) {

e.printStackTrace();

}try{if (null !=conn) {

conn.close();

}

}catch(SQLException e) {

e.printStackTrace();

}

}returnbook;

}

@Overridepublic ListselectAllBook() {

String sql= "select * from t_book";

List list = new ArrayList<>();

Connection conn= null;

PreparedStatement ps= null;

ResultSet rs= null;try{//加载驱动

Class.forName(jdbcDriver);//获取连接

conn =DriverManager.getConnection(url, userName, password);//创建会话

ps =conn.prepareStatement(sql);//获取结果集

rs =ps.executeQuery();//遍历结果集

while(rs.next()) {int id = rs.getInt("id");

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

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

Date pubDate= rs.getDate("pubDate");

Book book= newBook(id, bookName, author, pubDate);

list.add(book);

}

}catch(ClassNotFoundException e) {

e.printStackTrace();

}catch(SQLException e) {

e.printStackTrace();

}finally{try{if (null !=ps) {

ps.close();

}

}catch(SQLException e) {

e.printStackTrace();

}try{if (null !=conn) {

conn.close();

}

}catch(SQLException e) {

e.printStackTrace();

}

}returnlist;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值