一、
MVC模式即:模型、视图、控制器(Model、View、Controller)。是一种设计创建web应用程序的模式。
Model:负责实现功能与数据库之间的操作。
View:负责实现数据的显示操作。
Controller:负责将Model中的功能与相应的数据库数据和不同的View一一对应。
二、
JDBC的基本操作
package book.entity;
public class Book {
public int id;
public String bookName;
public int price;
public String description;
public int getId() {
return id;
}
public String getBookName() {
return bookName;
}
public int getPrice() {
return price;
}
public String getDescription() {
return description;
}
public void setId(int id) {
this.id = id;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public void setPrice(int price) {
this.price = price;
}
public void setDescription(String description) {
this.description = description;
}
@Override
public String toString() {
return "Book [id=" + id + ", bookName=" + bookName + ", price=" + price + ", description=" + description + "]";
}
}
package book.util;
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://127.0.0.1:3306/book?useUnicode=true&characterEncoding=UTF-8";
Connection conn;
try {
conn = DriverManager.getConnection(sql,"root","123456");
return conn;
} catch (SQLException e) {
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 book.funtions;
/**
* 增:添加book信息
*/
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import book.entity.Book;
import book.util.DBUtil;
public class Add {
public static void AddBook(Book book) {
Connection conn=DBUtil.getConnection();
PreparedStatement ps;
try {
ps=conn.prepareStatement("insert into book(id,bookName,price,description) values(?,?,?,?)");
ps.setInt(1, book.getId());
ps.setString(2, book.getBookName());
ps.setInt(3, book.getPrice());
ps.setString(4, book.getDescription());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
package book.funtions;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import book.util.DBUtil;
/**
*
*title :
*describe:删:删除book信息
*/
public class Delete {
public static void DeleteBookById(int id) {
Connection conn=DBUtil.getConnection();
PreparedStatement ps;
try {
ps = conn.prepareStatement("delete from book where id=?");
ps.setInt(1, id);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
package book.funtions;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import book.util.DBUtil;
import book.entity.Book;
/**
*
* title : describe:查:查找book信息
*/
public class Seek {
public static Book SeekBookById(int id) {
Connection conn=DBUtil.getConnection();
PreparedStatement ps;
Book book=new Book();
try {
ps = conn.prepareStatement("select * from book where id=?");
ps.setInt(1, id);
ResultSet rs=ps.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) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
return book;
}
}
package book.funtions;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import book.entity.Book;
import book.util.DBUtil;
/**
*
*title :
*describe:改:修改book信息
*/
public class Change {
public static void ChangeBook(Book book) {
Connection conn=DBUtil.getConnection();
PreparedStatement ps;
try {
ps=conn.prepareStatement("update book set bookName=?,price=?,description=? where id=?");
ps.setString(1, book.getBookName());
ps.setInt(2, book.getPrice());
ps.setString(3, book.getDescription());
ps.setInt(4, book.getId());
ps.executeUpdate();
} catch (SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
}
package book.ui;
import book.entity.*;
import book.funtions.*;
public class Test {
public static void main(String[] args) {
Book book=new Book();
book.setId(2);
book.setBookName("《我的祖国》");
book.setPrice(30);
book.setDescription("祖国到个人");
// Add.AddBook(book);
// Delete.DeleteBookById(2);
Seek.SeekBookById(2);
Change.ChangeBook(book);
}
}