Jsp+Servlet+JDBC+ Mysql 增删查改
项目源码:https://download.youkuaiyun.com/download/weixin_44048050/11256154
项目结构
1.数据库
-- 创建数据库
create database readjava_study CHARACTER SET utf8 COLLATE utf8_general_ci;
-- 创建学生信息表
CREATE TABLE `student` (
`student_id` int(11) NOT NULL AUTO_INCREMENT,
`student_number` varchar(255) DEFAULT NULL,
`student_name` varchar(255) DEFAULT NULL,
`student_password` varchar(255) DEFAULT NULL,
`student_sex` int(11) DEFAULT NULL,
PRIMARY KEY (`student_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2.工具类 DbUtil
package util;
import java.sql.Connection;
import java.sql.DriverManager;
public class DbUtil {
private static String url = "jdbc:mysql://localhost:3306/mydb"; // 数据库地址
private static String userName = "root"; // 数据库用户名
private static String passWord = "123456"; // 数据库密码
private static Connection conn = null;
//获得数据库连接
public static Connection getConnection() {
if (null == conn) {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, userName, passWord);
} catch (Exception e) {
e.printStackTrace();
}
}
return conn;
}
// 测试数据库是否连通
public static void main(String[] args) {
System.out.println(getConnection());
}
}
3.实体类(bean)
package bean;
public class Student {
private Integer studentId;
private String studentName;
private String studentPassword;
private Integer studentSex;
private String studentNumber;
public Student() {
}
public Integer getStudentId() {
return studentId;
}
public void setStudentId(Integer studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public String getStudentPassword() {
return studentPassword;
}
public void setStudentPassword(String studentPassword) {
this.studentPassword = studentPassword;
}
public Integer getStudentSex() {
return studentSex;
}
public void setStudentSex(Integer studentSex) {
this.studentSex = studentSex;
}
public String getStudentNumber() {
return studentNumber;
}
public void setStudentNumber(String studentNumber) {
this.studentNumber = studentNumber;
}
}
4.数据库交互层(dao)
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import bean.Student;
import util.DbUtil;
public class StudentDao {
// 查询所有学生
public List<Student> selectStudent() {
List<Student> studentList = new ArrayList<>();
Connection conn = DbUtil.getConnection();
String sql = "select * from student";
try {
PreparedStatement pst = conn.prepareStatement(sql);
ResultSet rst = pst.executeQuery();
while (rst.next()) {
Student student = new Student();
student.setStudentId(rst.getInt("student_id"));
student.setStudentName(rst.getString("student_name"));
student.setStudentPassword(rst.getString("student_password"));
student.setStudentSex(rst.getInt("student_sex"));
student.setStudentNumber(rst.getString("student_number"));
studentList.add(student);
}
rst.close();
pst.close();
} catch (SQLException e) {
e.printStackTrace();
}
return studentList;
}
// 添加学生
public boolean addStudent(Student student) {
Connection conn = null;
PreparedStatement pst = null;
try {
conn = DbUtil.getConnection();
if (conn == null) {
System.out.println("conn");
}
String sql = "INSERT INTO student(student_name,student_password,student_sex,student_number) VALUES(?,?,?,?);";
pst = conn.prepareStatement(sql);
pst.setString(1, student.getStudentName());
pst.setString(2, student.getStudentPassword