17软工2班宁一健 JDBC Book类 JAVA第四次作业

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/xixihahah574/article/details/102483774

1.使用自己的话表述MVC。
MVC是一种设计模式,在我们已学习的javaweb中,MVC中的M是指模型对应着JavaBean实体类、Dao,V是指视图对应值前端的页面HTML等,C是指控制器对应着Servlet。MVC模式让一个项目的代码分离,各司其职,便于开发和维护。并且让我们看代码的时候能清楚的知道每块代码的作用。
2.掌握JDBC的基本操作。
对book表中的数据进行增删改查;
book表:id int,bookName varchar,price int,description varchar
Book类:id int,bookName String ,price int,description String
提示:创建数据库连接工具类DBUtil类。

(1)首先先建表如图
在这里插入图片描述
下面是代码:

package com.nyj.JDBC4;

public class Book {
	private int id;
	private String bookName;
	private int price;
	private String description;
	public Book(){
		
	}
	public Book(int id, String bookName, int price, String description) {
		this.id = id;
		this.bookName = bookName;
		this.price = price;
		this.description = description;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getBookName() {
		return bookName;
	}
	public void setBookName(String bookName) {
		this.bookName = bookName;
	}
	public int getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	@Override
	public String toString() {
		return "Book [id=" + id + ", bookName=" + bookName + ", price=" + price + ", description=" + description + "]";
	}
	
	

}

package com.nyj.JDBC4;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class DBUtil {
	static{
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
	public static Connection getConnection(){
		String sql="jdbc:mysql://localhost:3306/javahomework?useUnicode=true&characterEncoding=UTF-8";
		Connection conn;
		try {
			conn = DriverManager.getConnection(sql, "root", "123456");
			return conn;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
		
	}
	public static void close(Connection conn){
		try {
			conn.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public static void close(PreparedStatement ps){
		try {
			ps.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public static void close(ResultSet rs){
		try {
			rs.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

}

package com.nyj.JDBC4;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
 * 书本的增删改查功能
 * @author 宁一健
 *
 */

public class BookTest {

	public static void main(String[] args) {
//		Book book = new Book();
//		book.setId(1004);
//		book.setBookName("java");
//		book.setPrice(50);
//		book.setDescription("好书");
//		saveBook(book);
		//deleteBookById(1003);
//		updateBook(book);
		//findBookById(1003);
		fidBookByPrice(500);

	}

	/**
	 * 添加书本的方法
	 */
	public static void saveBook(Book book) {
		Connection conn = DBUtil.getConnection();
		PreparedStatement pstmt = null;
		try {
			pstmt = conn.prepareStatement("insert into book(id,bookName,price,description)values(?,?,?,?)");
			pstmt.setInt(1, book.getId());
			pstmt.setString(2, book.getBookName());
			pstmt.setInt(3, book.getPrice());
			pstmt.setString(4, book.getDescription());
			int rs = pstmt.executeUpdate();
			System.out.println(rs);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				if(pstmt!=null)
				pstmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

	}

	/**
	 * 删除书本的方法
	 */
	public static void deleteBookById(int id) {
		Connection conn = DBUtil.getConnection();
		PreparedStatement pstmt = null;
		try {
			pstmt = conn.prepareStatement("delete from book where id=?");
			pstmt.setInt(1, id);
			int rs = pstmt.executeUpdate();
			System.out.println(rs);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				if(pstmt!=null)
				pstmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

	}
	/**
	 * 修改书本的方法   id
	 * 
	 */
	public static void updateBook(Book book){
		Connection conn = DBUtil.getConnection();
		PreparedStatement pstmt = null;
		try {
			pstmt = conn.prepareStatement("update book set bookName=?,price=?,description=? where id=?");
			pstmt.setString(1, book.getBookName());
			pstmt.setInt(2, book.getPrice());
			pstmt.setString(3, book.getDescription());
			pstmt.setInt(4, book.getId());
			int rs = pstmt.executeUpdate();
			System.out.println(rs);
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				if(pstmt!=null)
				pstmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
	}
	/**
	 * 查询书本的方法   id
	 */

	public static Book findBookById(Integer id) {
		Connection conn = DBUtil.getConnection();
		PreparedStatement pstmt = null;
		Book book = new Book();
		try {
			pstmt = conn.prepareStatement("select * from book where id=?");
			pstmt.setInt(1, id);
			ResultSet rs = pstmt.executeQuery();
			while (rs.next()) {
				book.setId(rs.getInt("id"));
				book.setBookName(rs.getString("bookName"));
				book.setPrice(rs.getInt("price"));
				book.setDescription(rs.getString("description"));
				System.out.println(book);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				if (pstmt!=null)
				pstmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		return book;
	}
	/**
	 * 查询书本的方法 price
	 */
	public static List<Book> fidBookByPrice(int price){
		Connection conn = DBUtil.getConnection();
		Book book = new Book();
		List<Book> list = new ArrayList<>();
		PreparedStatement pstmt = null;
		try {
			pstmt = conn.prepareStatement("select * from book where price =?");
			pstmt.setInt(1, price);
			ResultSet rs = pstmt.executeQuery();
			while(rs.next()){
				book.setId(rs.getInt("id"));
				book.setBookName(rs.getString("bookName"));
				book.setPrice(rs.getInt("price"));
				book.setDescription(rs.getString("description"));
				list.add(book);
				for(Book list2:list)
				System.out.println(list2);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				if(pstmt!=null)
				pstmt.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		return list;

	}

}

猜你喜欢

转载自blog.csdn.net/xixihahah574/article/details/102483774