2021-04-06 dao包 dao.impl包

简单学生管理系统 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;
    }

}
 

 


 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不想看海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值