简单学生管理系统 Oracle数据库实现
test包中Main类实在控制台显示增删改查结果
例如:
ui包中Main类在界面对数据进行增删改查
包:
IStudentDao接口
package com.stu.dao;
import com.stu.model.Student;
import java.util.List;
public interface IStudentDao {
public List<Student> getAllStudent();
public Student getStudent(String sno);
public boolean findStudent(String sno);
public boolean insertStudent(Student stu);
public boolean updateStudent(Student stu);
public boolean deleteStudent(String sno);
}
IStudentDao接口实现类:StudentDaoImpl
package com.stu.dao.impl;
import com.stu.dao.IStudentDao;
import com.stu.model.Student;
import com.stu.util.DatabaseBean;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class StudentDaoImpl implements IStudentDao {
Connection conn = null;
Statement stmt = null;
PreparedStatement psmt = null;
ResultSet rs = null;
@Override
public List<Student> getAllStudent() {
List<Student> students = new ArrayList<Student>();
try {
conn = DatabaseBean.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery("select sno,sname,ssex,sage,sdept from student");
while (rs.next()) {
Student stu = new Student();
stu.setSno(rs.getString("sno"));
stu.setSname(rs.getString("sname"));
stu.setSsex(rs.getString("ssex"));
stu.setSage(rs.getInt("sage"));
stu.setSdept(rs.getString("sdept"));
students.add(stu);
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
DatabaseBean.close(rs, stmt, conn);
}
return students;
}
@Override
public Student getStudent(String sno) {
Student stu = new Student();
try {
conn = DatabaseBean.getConnection();
psmt = conn.prepareStatement("select sno,sname,ssex,sage,sdept from student where sno=?");
psmt.setString(1, sno);
rs = psmt.executeQuery();
while (rs.next()) {
stu.setSno(rs.getString("sno"));
stu.setSname(rs.getString("sname"));
stu.setSsex(rs.getString("ssex"));
stu.setSage(rs.getInt("sage"));
stu.setSdept(rs.getString("sdept"));
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
DatabaseBean.close(rs, psmt, conn);
}
return stu;
}
@Override
public boolean findStudent(String sno) {
boolean flag = false;
try {
// conn = DatabaseBean.getConnection();
// stmt = conn.createStatement();
// rs = stmt.executeQuery("select sno,sname,ssex,sage,sdept from student");
// while (rs.next()) {
// if(sno.equals(rs.getString("sno"))){
// flag=true;
// break;
// }
// }
String sql = "select sno,sname,ssex,sage,sdept from student where sno=?";
conn = DatabaseBean.getConnection();
psmt = conn.prepareStatement(sql);
psmt.setString(1, sno);
psmt.executeUpdate();
int count = psmt.executeUpdate();
System.out.println("修改数据的行数为:" + count);
if (count > 0) {
return true;
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
DatabaseBean.close(rs, stmt, conn);
}
return flag;
}
@Override
public boolean insertStudent(Student stu) {
try {
String sql = "insert into student(sno,sname,ssex,sage,sdept) values(?,?,?,?,?)";
conn = DatabaseBean.getConnection();
psmt = conn.prepareStatement(sql);
psmt.setString(1, stu.getSno());
psmt.setString(2, stu.getSname());
psmt.setString(3, stu.getSsex());
psmt.setInt(4, stu.getSage());
psmt.setString(5, stu.getSdept());
int count = psmt.executeUpdate();
System.out.println("修改数据的行数为:" + count);
if (count > 0) {
return true;
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
DatabaseBean.close(rs, stmt, conn);
}
return false;
}
@Override
public boolean updateStudent(Student stu) {
try {
int sage = stu.getSage();
String ssex = stu.getSsex();
String sdept = stu.getSdept();
String sno = stu.getSno();
String sname = stu.getSname();
conn = DatabaseBean.getConnection();
stmt = conn.createStatement();
// String sql = "update student set sage=sage where sno='sno'";
// int count=stmt.executeUpdate(sql);
// // 将操作数据影响的行数输出
// System.out.println("修改数据的行数为:" + count);
String sql = "update student set sname=?,ssex=?,sage=?,sdept=? where sno=?";
psmt = conn.prepareStatement(sql);
psmt.setString(1, sname);
psmt.setString(2, ssex);
psmt.setInt(3, sage);
psmt.setString(4, sdept);
psmt.setString(5, sno);
int count = psmt.executeUpdate();
System.out.println("修改数据的行数为:" + count);
if (count > 0) {
return true;
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
DatabaseBean.close(null, stmt, conn);
}
return false;
}
@Override
public boolean deleteStudent(String sno) {
try {
conn = DatabaseBean.getConnection();
stmt = conn.createStatement();
// int count = stmt.executeUpdate("delete from student where sno='sno'");
// 将操作数据影响的行数输出
// System.out.println("删除数据的行数为:" + count);
String sql = "delete from student where sno=?";
psmt = conn.prepareStatement(sql);
psmt.setString(1, sno);
int count = psmt.executeUpdate();
System.out.println("删除数据的行数为:" + count);
if (count > 0) {
return true;
}
} catch (SQLException ex) {
ex.printStackTrace();
} finally {
DatabaseBean.close(rs, stmt, conn);
}
return false;
}
}