cn.scxh.stumanger.model包:
Student java类
package cn.scxh.stumanger.model;
public class Student {
private int id;
private int number;
private String name;
private int grade;
private boolean sex;
private String picurl;
public Student(){
}
public Student(int number, String name, int grade,boolean sex,String picurl) {
this.number = number;
this.name = name;
this.grade = grade;
this.sex = sex;
this.picurl = picurl;
}
public Student(int id,int number, String name, int grade,boolean sex,String picurl) {
this.id = id;
this.number = number;
this.name = name;
this.grade = grade;
this.sex = sex;
this.picurl = picurl;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public boolean isSex() {
return sex;
}
public void setSex(boolean sex) {
this.sex = sex;
}
public String getPicurl() {
return picurl;
}
public void setPicurl(String picurl) {
this.picurl = picurl;
}
@Override
public String toString() {
return "Student [number=" + number + ", name=" + name + ", grade="
+ grade + ", sex=" + sex + ", picurl=" + picurl + "]";
}
}
user java类:
package cn.scxh.stumanger.model;
public class User {
private String userName;
private String passWord;
public User() {
}
public User(String userName, String passWord) {
this.userName = userName;
this.passWord = passWord;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
@Override
public String toString() {
return "User [userName=" + userName + ", passWord=" + passWord + "]";
}
}
cn.scxh.stumanger.dao层(包) StduentDao java类
package cn.scxh.stumanger.dao;
/**
* 分层步骤:
* 1.建立model层即bean层
* 2.建立DAO层(接口),即功能(抽象方法)
* 3.建立daoimpl层——实现Dao层,dao层功能的具体的实现
* 4.建立Server层(接口),功能(抽象方法)。和dao层相似
* 5.建立Serverimpl,实现Server层,server层的具体实现
*
*/
import java.util.ArrayList;
import java.util.List;
import cn.scxh.stumanger.model.Student;
public interface StudentDao {
public abstract void addStudent(Student student);
ArrayList<Student> printMessageAllStudent();
Student findStudentMessageByName(String n);
Student findStudentByNumber(int num);
Boolean isExistStudentByNumber(int number);
void updateStudentByNumber(Student student);
void deleteStudentByNumber(int num);
int getSum();
List<Student> getAllStudent();
Student findStudentById(int id);
void updateStudentById(Student student);
}
UserDao java类
package cn.scxh.stumanger.dao;
import java.util.ArrayList;
import cn.scxh.stumanger.model.User;
public interface UserDao {
User isCheck(String userName, String passWord);
public abstract void addUser(User user);
public abstract void deleteUser(String name);// 抽象方法
public abstract void updateUser(User user, String name);// 抽象方法
public abstract ArrayList<User> selectAllUser();// 抽象方法
User findUserByName(String n);
}
StudentDaoImpl java类
package cn.scxh.stumanger.daoimpl;
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 cn.scxh.stumanger.dao.StudentDao;
import cn.scxh.stumanger.model.Student;
import cn.scxh.stumanger.utils.UtilDB;
public class StudentDaoImpl extends UtilDB implements StudentDao{
/**
* 单例模式:
* 1.构造方法私有化
* 2.设置静态私有 实例对象为空
* 3.定义公共静态方法返回实例
*/
private static StudentDaoImpl db = null;
public static StudentDaoImpl getInstance(){
if(db == null){
db = new StudentDaoImpl();
}
return db;
}
private StudentDaoImpl(){
}
@Override
public void addStudent(Student student) {
String sql = "insert into student(number,name,grade,sex,picurl)values(?,?,?,?,?)";
Connection connect = null;
PreparedStatement ps = null;
try {
connect = getConnection();
ps = connect.prepareStatement(sql);
ps.setInt(1, student.getNumber());
ps.setString(2, student.getName());
ps.setInt(3, student.getGrade());
ps.setBoolean(4, student.isSex());
ps.setString(5, student.getPicurl());
ps.execute();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
closeConnection(connect);
}
}
@Override
public ArrayList<Student> printMessageAllStudent() {
String sql = "SELECT * FROM student";
Connection connect = null;
PreparedStatement ps = null;
ResultSet rs = null;
ArrayList<Student> studentList = null;
try {
connect = getConnection();
ps = connect.prepareStatement(sql);
rs = ps.executeQuery();
studentList = new ArrayList<>();
while(rs.next()){
int number = rs.getInt("number");
String name = rs.getString("name");
int grade = rs.getInt("grade");
boolean sex = rs.getBoolean("sex");
String picurl = rs.getString("picurl");
// System.out.println(number+"\t"+name+"\t"+grade+"\t"+sex);
Student student = new Student(number,name,grade,sex,picurl);
studentList.add(student);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
if(rs != null)
rs.close();
if (ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
closeConnection(connect);
}
return studentList;
}
@Override
public Student findStudentMessageByName(String n) {
String sql = "SELECT * FROM student WHERE name = ?";
System.out.println("请输入查找的学生姓名:");
//String n = KeyBoardUtil.getStringKeyBoard();
System.out.println("学号"+"\t"+"name"+"\t"+"grade");
Connection connect = null;
PreparedStatement ps = null;
ResultSet rs = null;
Student student = null;
try {
connect = getConnection();
ps = connect.prepareStatement(sql);
ps.setString(1, n);
rs = ps.executeQuery();//执行sql查询语句
if(rs.next()){
int number = rs.getInt("number");
String name = rs.getString("name");
int grade = rs.getInt("grade");
boolean sex = rs.getBoolean("sex");
String picurl = rs.getString("picurl");
System.out.println(number+"\t"+name+"\t"+grade+"\t"+sex);
student = new Student(number,name,grade,sex,picurl);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
if (ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
closeConnection(connect);
}
return student;
}
@Override
public Student findStudentByNumber(int num) {
String sql = "select * from student where number = ?";
// System.out.println("请输入查找的学生学号:");
// System.out.println("学号"+"\t"+"name"+"\t"+"grade"+"性别"+"头像");
Connection connect = null;
PreparedStatement ps = null;
ResultSet rs = null;
Student student = null;
try {
connect = getConnection();
ps = connect.prepareStatement(sql);
ps.setInt(1, num);
rs = ps.executeQuery();//执行sql查询语句
if(rs.next()){
int id = rs.getInt("id");
int number = rs.getInt("number");
String name = rs.getString("name");
int grade = rs.getInt("grade");
boolean sex = rs.getBoolean("sex");
String picurl = rs.getString("picurl");
// System.out.println(number+"\t"+name+"\t"+grade+"\t"+sex+"\t"+picurl);
student = new Student(id,number,name,grade,sex,picurl);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
if (ps != null)
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
closeConnection(connect);
}
return student;
}
@Override
public Boolean isExistStudentByNumber(int number) {
String sql = "select * from student where number = ?";
System.out.println("请输入查找的学生学号:");
System.out.println("学号"+