⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 classdao.java

📁 您的文件包然后写出其具体功能(至少要20个字)。尽量不要让站长把时间都花费在为您
💻 JAVA
字号:
package Sys.dao;

import java.sql.*;
import java.util.*;
import javax.swing.*;

import Sys.vo.*;
import Sys.db.*;

public class ClassDao {
	private Connection conDB=null;
	public ClassDao(){
		conDB=DatabaseTool.conDB();
	}
	
	public void addClass(ClassInfo classinfo){
		PreparedStatement ps=null;
		try{
			ps=conDB.prepareStatement("Insert into Class(classid,personcounts,remarks" +
					") values(?,?,?)");
			ps.setString(1, classinfo.getClassID());
			ps.setString(2, classinfo.getPersoncounts());
			ps.setString(3, classinfo.getRemarks());
			ps.executeUpdate();
		}catch(SQLException e){
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "添加班级失败");
		}finally{
			DatabaseTool.closeStatement(ps);
		}
	}
	
	public void modifyClass(ClassInfo classinfo,String classid){//这里不通过查询要修改的班级ID来修改,这样实现比较好!
		PreparedStatement ps=null;
		try{
			ps=conDB.prepareStatement("update Class set classid=?,personcounts=?" +
					",remarks=? where classid=?");
			ps.setString(1, classinfo.getClassID());
			ps.setString(2, classinfo.getPersoncounts());
			ps.setString(3, classinfo.getRemarks());
			ps.setString(4, classid);
			ps.executeUpdate();
		}catch(SQLException e){
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "修改班级失败");
		}finally{
			DatabaseTool.closeStatement(ps);
		}
	}
	
	public void delClass(String classid){
		PreparedStatement ps=null;
		try{
			ps=conDB.prepareStatement("delete from Class where classid=?");
			ps.setString(1, classid);
			ps.executeUpdate();
		}catch(SQLException e){
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "删除班级失败,没有该班级ID");
		}finally{
			DatabaseTool.closeStatement(ps);
		}
	}
	
	//public void addPersonForClass()//给班级更新班级的学生人数!这里可以不在数据库设人数字段,可以通过后期计算得到两种都有利弊
	//如果表没有人数字段,那么要求在面板输出时,就要另外的操作数据库的方法使用,然而如果在每次添加学生时,都要用这个方法修改班级的人数
	//到这里已经懂了,因为操作添加次数会比较多,而面板输出比较少,所以不应该每次都修改学生的人数!不过即使我已经添加了人数这个字段,我
	//也可以不在每次添加学生时修改这个表的认输字段!所以不写这个方法了
	
	public ClassInfo getClassInfo(String classid){
		PreparedStatement ps=null;
		ResultSet rs=null;
		ClassInfo classinfo=null;
		try{
			ps=conDB.prepareStatement("selcet * from Class");
			rs=ps.executeQuery();
			if(rs.next()){
				classinfo=new ClassInfo();
				classinfo.setClassID(rs.getString("classid"));
				classinfo.setPersoncounts(rs.getString("personcounts"));
				classinfo.setRemarks(rs.getString("remarks"));
			}
		}catch(SQLException e){
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, "获得班级信息失败");
		}finally{
			DatabaseTool.closeResultSet(rs);
			DatabaseTool.closeStatement(ps);
		}
		return classinfo;
	}
	
	public List<ClassInfo> getAllClass(){
		PreparedStatement ps=null;
		ResultSet rs=null;
		List<ClassInfo> classlist=null;
		try{
			ps=conDB.prepareStatement("select * from Class");
			rs=ps.executeQuery();
			classlist=new ArrayList<ClassInfo>();
			ClassInfo classinfo=null;
			while(rs.next()){
				classinfo=new ClassInfo();
				classinfo.setClassID(rs.getString("classid"));
				classinfo.setPersoncounts(rs.getString("personcounts"));
				classinfo.setRemarks(rs.getString("remarks"));
				classlist.add(classinfo);
			}
		}catch(SQLException e){
			e.printStackTrace();
			JOptionPane.showMessageDialog(null,"获得班级表失败");
		}finally{
			DatabaseTool.closeResultSet(rs);
			DatabaseTool.closeStatement(ps);
		}
		return classlist;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -