package com.yzk.student.daoimp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.yzk.student.dao.StudentDao;
import com.yzk.student.model.Student;
/**
* Created by hejjon on 2019/5/25.
*/
public class StudentDaoImo implements StudentDao {
private final String jdbcDriver = "com.mysql.cj.jdbc.Driver";
private final String url = "jdbc:mysql://localhost:3306/StudentSystem-JSP-Servlet?serverTimezone=UTC";
private final String userName = "root";
private final String password = "root";
private ArrayList<Student> students;
@Override
public int insertStudent(Student student) {
int n = 0;
String sql = "insert into Student values (default,?,?,?,?,?)";
Connection conn = null;
PreparedStatement ps = null;
try {
// 加载驱动
Class.forName(jdbcDriver);
// 获取连接
conn = DriverManager.getConnection(url, userName, password);
// 创建会话
ps = conn.prepareStatement(sql);
// 设置 ? 的值
ps.setString(1, student.getName());
ps.setString(2, student.getGender());
ps.setInt(3, student.getAge());
ps.setString(4, student.getClasss());
ps.setString(5, student.getMajor());
// 执行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();
}
}
return n;
}
@Override
public int deleteStudent(int id) {
String sql = "delete from Student 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();
}
}
return n;
}
@Override
public int updateStudent(Student student) {
System.out.println(student);
String sql = "update Student set name=?, gender=?, age=?, classs=?, major=? 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, student.getName());
ps.setString(2, student.getGender());
ps.setInt(3, student.getAge());
ps.setString(4, student.getClasss());
ps.setString(5, student.getMajor());
ps.setInt(6, student.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();
}
}
return n;
}
@Override
public List<Student> selectStudentByName(String name) {
students = new ArrayList<>();
for (Student student : selectAllStudent()) {
if (student.getName().equals(name)) {
students.add(student);
}
}
return students;
}
@Override
public List<Student> selectAllStudent() {
String sql = "select * from Student";
List<Student> 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()) {
Student student = new Student(rs.getInt("id"), rs.getString("name"), rs.getString("gender"),
rs.getInt("age"), rs.getString("classs"), rs.getString("major"));
list.add(student);
}
} 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();
}
}
return list;
}
@Override
public Student selectStudentById(int id) {
for (Student student : selectAllStudent()) {
if (student.getId() == id) {
return student;
}
}
return null;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源介绍】 基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip基于springboot实现的图书借阅系统.zip 【备注】 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 欢迎下载,欢迎沟通,互相学习,共同进步!提供答疑!
资源推荐
资源详情
资源评论


























收起资源包目录





































































































共 234 条
- 1
- 2
- 3
资源评论


batchsize2345n
- 粉丝: 1190
- 资源: 1941
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
