学生管理系统(具备增删改查更)

本文详细介绍了使用Java Web技术实现的学生管理系统,涵盖了DAO层、业务层、数据库辅助类及实体类的设计,包括主界面的JSP和Servlet代码,以及增加、修改、删除功能的实现细节。
摘要由CSDN通过智能技术生成

目录

一、dao层和biz层以及数据库辅助类以及实体类1、数据库辅助类:

2、实体类:

3.dao层

二、主界面

1、主界面jsp代码:

2、主界面servlet代码:

三、增加功能

1、增加界面:

2、增加界面的绑值:

3、增加界面的servlet代码:

四、修改功能

1、修改界面:

2、修改界面绑值的servlet:

3、修改界面的servlet代码:

五、删除功能

删除的servlet代码:


一、dao层和biz层以及数据库辅助类以及实体类
1、数据库辅助类:

package com.dgl.util;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * 提供了一组获得或关闭数据库对象的方法
 * 
 */
public class DBHelper {
	private static String driver;
	private static String url;
	private static String user;
	private static String password;

	static {// 静态块执行一次,加载 驱动一次
		try {
			InputStream is = DBHelper.class
					.getResourceAsStream("config.properties");

			Properties properties = new Properties();
			properties.load(is);

			driver = properties.getProperty("driver");
			url = properties.getProperty("url");
			user = properties.getProperty("user");
			password = properties.getProperty("pwd");

			Class.forName(driver);
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}

	/**
	 * 获得数据连接对象
	 * 
	 * @return
	 */
	public static Connection getConnection() {
		try {
			Connection conn = DriverManager.getConnection(url, user, password);
			return conn;
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}

	public static void close(ResultSet rs) {
		if (null != rs) {
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException(e);
			}
		}
	}

	public static void close(Statement stmt) {
		if (null != stmt) {
			try {
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException(e);
			}
		}
	}

	public static void close(Connection conn) {
		if (null != conn) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException(e);
			}
		}
	}
	
	public static void myClose(Connection con,PreparedStatement ps,ResultSet rs) {
		try {
			if(rs!=null) {
				rs.close();
			}
			if(ps!=null) {
				ps.close();
			}
			if(con!=null&&!con.isClosed()) {
				con.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static void close(Connection conn, Statement stmt, ResultSet rs) {
		close(rs);
		close(stmt);
		close(conn);
	}

	public static boolean isOracle() {
		return "oracle.jdbc.driver.OracleDriver".equals(driver);
	}

	public static boolean isSQLServer() {
		return "com.microsoft.sqlserver.jdbc.SQLServerDriver".equals(driver);
	}
	
	public static boolean isMysql() {
		return "com.mysql.jdbc.Driver".equals(driver);
	}

	public static void main(String[] args) {
		Connection conn = DBHelper.getConnection();
		DBHelper.close(conn);
		System.out.println("isOracle:" + isOracle());
		System.out.println("isSQLServer:" + isSQLServer());
		System.out.println("isMysql:" + isMysql());
		System.out.println("数据库连接(关闭)成功");
	}
}

连接数据库:

#oracle9i
#driver=oracle.jdbc.driver.OracleDriver
#url=jdbc:oracle:thin:@localhost:1521:orcl
#user=scott
#pwd=123


#sql2005
#driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
#url=jdbc:sqlserver://localhost:1433;DatabaseName=test1
#user=sa
#pwd=123


#sql2000
#driver=com.microsoft.jdbc.sqlserver.SQLServerDriver
#url=jdbc:microsoft:sqlserver://localhost:1433;databaseName=unit6DB
#user=sa
#pwd=888888


#mysql
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db_0614?useUnicode=true&characterEncoding=UTF-8&useSSL=false
user=root
pwd=123456

2、实体类:

①学生类:

package com.dgl.entity;

import java.io.Serializable;
import java.util.List;


public class Student implements Serializable{
	
	
	private static final long serialVersionUID = 7154831938131519366L;
	private int sid;
	private String sname;
	private Teacher t;
	private Class c;
//	private Hobby h;
	private String ss;//用来增加 xiugai
	private List<Hobby> ls;//用来绑值
	//定义一个
	public int getSid() {
		return sid;
	}
	public String getSs() {
		return ss;
	}
	public void setSs(String ss) {
		this.ss = ss;
	}
	public void setSid(int sid) {
		this.sid = sid;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public Teacher getT() {
		return t;
	}
	public void setT(Teacher t) {
		this.t = t;
	}
	public Class getC() {
		return c;
	}
	public void setC(Class c) {
		this.c = c;
	}
	public List<Hobby> getLs() {
		return ls;
	}
	public void setLs(List<Hobby> ls) {
		this.ls = ls;
	}
	public Student() {
		// TODO Auto-generated constructor stub
	}
	public Student(int sid, String sname, Teacher t, Class c, List<Hobby> ls) {
		super();
		this.sid = sid;
		this.sname = sname;
		this.t = t;
		this.c = c;
		this.ls = ls;
	}
	
	public Student(String sname, Teacher t, Class c, String ss) {
		this.sname = sname;
		this.t = t;
		this.c = c;
		this.ss = ss;
	}
	@Override
	public String toString() {
		return "Student [sid=" + sid + ", sname=" + sname + ", t=" + t + ", c=" + c + ", ls=" + ls + "]";
	}
}

②教员类:

package com.dgl.entity;

import java.io.Serializable;

/**
 * 教师类
 * @author Administrator
 *
 */
public class Teacher implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 4984197172186331612L;
	private int tid;
	private String tname;
	private Class c;
	public int getTid() {
		return tid;
	}
	public void setTid(int tid) {
		this.tid = tid;
	}
	public String getTname() {
		return tname;
	}
	public void setTname(String tname) {
		this.tname = tname;
	}
	public Class getC() {
		return c;
	}
	public void setC(Class c) {
		this.c = c;
	}
	public Teacher() {
		// TODO Auto-generated constructor stub
	}
	public Teacher(int tid, String tname, Class c) {
		this.tid = tid;
		this.tname = tname;
		this.c = c;
	}
	@Override
	public String toString() {
		return "Teacher [tid=" + tid + ", tname=" + tname + ", c=" + c + "]";
	}
}

③班级类:

package com.dgl.entity;

import java.io.Serializable;
/**
 * 班级类
 * @author Administrator
 *
 */
public class Class implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -5145856861606131091L;
	private int cid;
	private String cname;
	public int getCid() {
		return cid;
	}
	public void setCid(int cid) {
		this.cid = cid;
	}
	public String getCname() {
		return cname;
	}
	public void setCname(String cname) {
		this.cname = cname;
	}
	public Class() {
		// TODO Auto-generated constructor stub
	}
	public Class(int cid, String cname) {
		super();
		this.cid = cid;
		this.cname = cname;
	}
	@Override
	public String toString() {
		return "Class [cid=" + cid + ", cname=" + cname + "]";
	}
}

④爱好类:

package com.dgl.entity;

import java.io.Serializable;
/**
 * 爱好类
 *
 */
public class Hobby implements Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -9120395110708701114L;
	private String hid;
	private String hname;
	public String getHid() {
		return hid;
	}

	public void setHid(String hid) {
		this.hid = hid;
	}

	public String getHname() {
		return hname;
	}

	public void setHname(String hname) {
		this.hname = hname;
	}
	public Hobby() {
		// TODO Auto-generated constructor stub
	}
	public Hobby(String hid, String hname) {
		super();
		this.hid = hid;
		this.hname = hname;
	}
	@Override
	public String toString() {
		return "Hobby [hid=" + hid + ", hname=" + hname + "]";
	}
}

3.dao层

①学生类:

package com.dgl.dao;

import java.sql.Array;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.dgl.entity.Class;
import com.dgl.entity.Hobby;
import com.dgl.entity.Student;
import com.dgl.entity.Teacher;
import com.dgl.util.DBHelper;

public class StudentDao implements IStudentDao{
	
	//三兄弟
	private Connection con=null;
	private PreparedStatement ps=null;
	private ResultSet rs=null;
	
	//调用爱好dao层
	IHobbyDao ihd=new HobbyDao();
	
	@Override
	public List<Student> getAll() {
		List<Student> ls=new ArrayList<Student>();
		try {
			con=DBHelper.getConnection();
			String sql="select * from tb_student";
			ps=con.prep
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值