java之简单的增删改查功能

前言

用增删改查写的简单版学生管理系统
运用了JavaScript,El表达式,c标签,mvc模式,三层架构,MySQL。

数据库辅助类
config.properties

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

DBHelper .java

package com.cxy.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 close(Connection conn, Statement stmt, ResultSet rs,PreparedStatement ps) {
   
		close(rs);
		close(stmt);
		close(conn);
		if(ps!=null) {
   
			try {
   
				ps.close();
			} catch (SQLException e) {
   
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	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("数据库连接(关闭)成功");
	}
}

实体类

学生类:Student .java

package com.cxy.entity;

/**学生实体类
 * @author zjjt
 *
 */
public class Student {
   
	
	private int sid;
	private String sname;
	private Js js ;
	private Class bj;
	private String hid;
	public int getSid() {
   
		return sid;
	}
	public void setSid(int sid) {
   
		this.sid = sid;
	}
	public String getSname() {
   
		return sname;
	}
	public void setSname(String sname) {
   
		this.sname = sname;
	}
	public Js getJs() {
   
		return js;
	}
	public void setJs(Js js) {
   
		this.js = js;
	}
	public Class getBj() {
   
		return bj;
	}
	public void setBj(Class bj) {
   
		this.bj = bj;
	}
	public String getHid() {
   
		return hid;
	}
	public void setHid(String hid) {
   
		this.hid = hid;
	}
	public Student() {
   
		// TODO Auto-generated constructor stub
	}
	public Student(int sid, String sname, Js js, Class bj, String hid) {
   
		super();
		this.sid = sid;
		this.sname = sname;
		this.js = js;
		this.bj = bj;
		this.hid = hid;
	}
	public Student(String sname, Js js, Class bj, String hid) {
   
		this.sname = sname;
		this.js = js;
		this.bj = bj;
		this.hid = hid;
	}
	public Student(String sname,String hid) {
   
		this.sname = sname;
		this.hid = hid;
	}
	@Override
	public String toString() {
   
		return "Student [sid=" + sid + ", sname=" + sname + ", js=" + js + ", bj=" + bj + ", hid=" + hid + "]";
	}
	
}

教师类:Js.java

package com.cxy.entity;

/**教师实体类
 * @author zjjt
 *
 */
public class Js {
   

	private int tid ;
	private String tname;
	private int cid;
	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 int getCid() {
   
		return cid;
	}
	public void setCid(int cid) {
   
		this.cid = cid;
	}
	
	public Js() {
   
		// TODO Auto-generated constructor stub
	}
	public Js(int tid, String tname, int cid) {
   
		super();
		this.tid = tid;
		this.tname = tname;
		this.cid = cid;
	}
	@Override
	public String toString() {
   
		return "Js [tid=" + tid + ", tname=" + tname + ", cid=" + cid + "]";
	}

}

班级类:Class.java

package com.cxy.entity;

/**班级实体类
 * @author zjjt
 *
 */
public class Class {
   
	
	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 + "]";
	}
	
	
}


爱好类:Hobby.java

package com.cxy.entity;

/**爱好实体类
 * @author zjjt
 *
 */
public class Hobby {
   

	private int hid;
	private String hname;
	public int getHid() {
   
		return hid;
	}
	public void setHid(int 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(int hid, String hname) {
   
		super();
		this.hid = hid;
		this.hname = hname;
	}
	@Override
	public String toString() {
   
		return "Hobby [hid=" + hid + ", hname=" + hname + "]";
	}
	
	
}

数据库访问层

学生接口类:StudentBiz .java

package com.cxy.biz;

import java.util.List;

import com.cxy.entity.Hobby;
import com.cxy.entity.Student;

public interface StudentBiz {
   
	/**
	 * 模糊查询
	 * @param strt 教师编号
	 * @param strc 班级编号
	 * @param strh 爱好编号
	 * @return 集合
	 */
	List<Student> getAll(String strt,String strc,String strh,int pageindex,int pagecount);
	
	/**
	 * 增加学生
	 * @param stu 学生实体
	 * @return 影响行数
	 */
	int addstu(Student stu);
	
	/**
	 * 删除学生
	 * @param sid 学生编号
	 * @return 影响行数
	 */
	int deletestu(int sid);
	
	/**
	 * 修改学生
	 * @param sid 学生编号
	 * @param stu 学生实体
	 * @return 影响行数
	 */
	int updatestu(int sid,Student stu);
	
	/**
	 * 总数
	 * @return
	 */
	int getcount(String strt,String strc,String strh);
	
	/**
	 * 学生单个查询
	 * @param sid 学生编号
	 * @return
	 */
	Student getdg(int sid);
}

学生方法类:StudentDao .java

package com.cxy.dao
  • 0
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该学生成绩信息管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩; 管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。 考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。 技术实现 系统环境:Windows开发工具:IDEAJava版本:JDK 1.8服务器:Tomcat 1.8数据库MySQL 5.X系统采用技术:Servlet+Jsp+Jdbc+H-ui+EasyUI+jQuery+Html+Css+Ajax 系统功能系统主要分为三种用户角色,分别是管理员、老师以及学生,其具体功能如下: - 管理员   学生信息管理、教师信息管理、年级信息管理、班级信息管理、课程信息管理、考试信息管理,系统参数设置 - 老师   教学管理、教师个人信息维护、教师通讯录管理 - 学生考试成绩查询、学生通讯录、学生个人信息维护 运行截图 登录界面: 管理员界面: 考试列表:  成绩统计: 学生信息管理: 教师信息管理: 年级、班级信息管理:  系统设置: 教师界面:  成绩登记:  教师通讯录: 个人信息:  学生界面: 学生成绩查询: 班级通讯录: 学生个人信息:              
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值