JavaWeb——课程管理系统(2).java---18.11.29
DaoFactory.java
public static UserDaoImpl getDaoImpl() {
return new UserDaoImpl();
}
}
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
//连接数据库
public static Connection getConnection() {
try {
//1 加载驱动
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String user = "root";
String password = "root";
String url = "jdbc:mysql://localhost:3306/t_user?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
Connection connection = null;
try {
//2 创建链接对象connection
connection = DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
//关闭资源的方法
public static void close(Connection connection ) {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(PreparedStatement preparedStatement ) {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void close(ResultSet resultSet ) {
try {
if (resultSet != null) {
resultSet.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class UserException extends RuntimeException{
super();
// TODO Auto-generated constructor stub
}
super(message, cause, enableSuppression, writableStackTrace);
// TODO Auto-generated constructor stub
}
super(message, cause);
// TODO Auto-generated constructor stub
}
super(message);
// TODO Auto-generated constructor stub
}
super(cause);
// TODO Auto-generated constructor stub
}
}
import java.util.Map;
public static boolean validateNull(HttpServletRequest request,String[] fileds) {
boolean validate = true;
//map对象用来装载不同的错误信息
Map<String,String> errorMsg = new HashMap<String, String>();
for(String filed :fileds) {
String value = request.getParameter(filed);
if (value == null || "".equals(value.trim())) {
validate = false;
errorMsg.put(filed, filed+"不能为空");
}
if (!validate) {
request.setAttribute("errormsg", errorMsg);
}
}
return validate;
}
public static String showError(HttpServletRequest request , String filed) {
@SuppressWarnings("unchecked")
Map<String, String> errorMsg = (Map<String,String>)request.getAttribute("errormsg");
if (errorMsg == null) {
return "";
}
String msg = errorMsg.get(filed);
if (msg == null) {
return "";
}
return msg;
}
}
private int id;
private String name;
private String time;
private String jieci;
private String college;
private String tid;
private String tname;
private String number;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getTime()
{
return time;
}
public void setTime(String time)
{
this.time = time;
}
public String getJieci()
{
return jieci;
}
public void setJieci(String jieci)
{
this.jieci = jieci;
}
public String getCollege()
{
return college;
}
public void setCollege(String college)
{
this.college = college;
}
public String getTid()
{
return tid;
}
public void setTid(String tid)
{
this.tid = tid;
}
public String getTname()
{
return tname;
}
public void setTname(String tname)
{
this.tname = tname;
}
public String getNumber()
{
return number;
}
public void setNumber(String number)
{
this.number = number;
}
}
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
String encoding = null;
@Override
public void init(FilterConfig filterConfig) throws ServletException{
encoding = filterConfig.getInitParameter("encoding");
}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// request.setCharacterEncoding("utf-8");
request.setCharacterEncoding(encoding);
chain.doFilter(request, response);
}
// TODO Auto-generated method stub
System.out.println();
}
}
public void add(User user);
public void delete(int id);
public void update(User user);
public User load(int id);
public User load(String name);
public List<User> load();
}
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.jaovo.msg.Util.UserException;
import com.jaovo.msg.model.User;
public void add(User user) {
//获得链接对象
Connection connection = DBUtil.getConnection();
//准备sql语句
String sql = "select count(*) from class where name = ?";
//创建语句传输对象
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, user.getName());
//接收结果集
resultSet = preparedStatement.executeQuery();
//遍历结果集
while(resultSet.next()) {
if (resultSet.getInt(1) > 0) {
throw new UserException("用户已存在") ;
}
}
sql = "insert into class(name,time,jieci,college,tid,tname,number) value (?,?,?,?,?,?,?)";
preparedStatement = connection.prepareStatement(sql);
//添加
preparedStatement.setString(1, user.getName());
preparedStatement.setString(2, user.getTime());
preparedStatement.setString(3, user.getJieci());
preparedStatement.setString(4, user.getCollege());
preparedStatement.setString(5, user.getTid());
preparedStatement.setString(6, user.getTname());
preparedStatement.setString(7, user.getNumber());
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//关闭资源
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
}
public void delete(int id) {
//获得链接对象
Connection connection = DBUtil.getConnection();
String sql = "delete from class where id = ?";
PreparedStatement preparedStatement = null;
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
}
@Override
public void update(User user) {
//获得链接对象
Connection connection = DBUtil.getConnection();
//准备sql语句
String sql = "update class set time = ? , jieci=? , college=? , tid=? , tname=? , number=? where id = ?";
//创建语句传输对象
PreparedStatement preparedStatement = null;
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setString(1, user.getTime());
preparedStatement.setString(2, user.getJieci());
preparedStatement.setString(3, user.getCollege());
preparedStatement.setString(4, user.getTid());
preparedStatement.setString(5, user.getTname());
preparedStatement.setString(6, user.getNumber());
preparedStatement.setInt(7, user.getId());
preparedStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
}
public User load(int id) {
//获得链接对象
Connection connection = DBUtil.getConnection();
//准备sql语句
String sql = "select * from class where id = ?";
//创建语句传输对象
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
User user = null;
try {
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, id);
resultSet = preparedStatement.executeQuery();
while(resultSet.next()) {
user = new User();
user.setId(id);
user.setName(resultSet.getString("name"));
user.setTime(resultSet.getString("time"));
user.setJieci(resultSet.getString("jieci"));
user.setCollege(resultSet.getString("college"));
user.setTid(resultSet.getString("tid"));
user.setTname(resultSet.getString("tname"));
user.setNumber(resultSet.getString("number"));
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return user;
}
public User load(String name) {
// TODO Auto-generated method stub
return null;
}
public List<User> load() {
Connection connection = DBUtil.getConnection();
//准备sql语句
String sql = "select * from class ";
//创建语句传输对象
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
//集合中只能放入user对象
List<User> users = new ArrayList<User>();
User user = null;
try {
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while(resultSet.next()) {
user = new User();
user.setId(resultSet.getInt("id"));
user.setName(resultSet.getString("name"));
user.setTime(resultSet.getString("time"));
user.setJieci(resultSet.getString("jieci"));
user.setCollege(resultSet.getString("college"));
user.setTid(resultSet.getString("tid"));
user.setTname(resultSet.getString("tname"));
user.setNumber(resultSet.getString("number"));
users.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
DBUtil.close(resultSet);
DBUtil.close(preparedStatement);
DBUtil.close(connection);
}
return users;
}
JavaWeb——课程管理系统(2).java---18.11.29的更多相关文章
- JavaWeb——课程管理系统(1)jsp界面---18.11.29
add.jsp <%@page import="com.jaovo.msg.Util.ValidateUtil"%><%@page import="co ...
- [18/11/29] 继承(extends)和方法的重写(override,不是重载)
一.何为继承?(对原有类的扩充) 继承让我们更加容易实现类的扩展. 比如,我们定义了人类,再定义Boy类就只需要扩展人类即可.实现了代码的重用,不用再重新发明轮子(don’t reinvent w ...
- [18/11/11] java标识符及变量
一.标识符规范 1.必须以字母.下划线 .美元符号开头. 即数字不能作为开头,其它位随便 2.不可以是java关键字(即保留字), 如static .class.new 等 . 注:int 年 ...
- 课程设计- 基于ssm的捐赠物资分配管理系统 && 基于java的申请救援管理系统
课程设计- 基于ssm的捐赠物资分配管理系统 && 基于java的申请救援管理系统 注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架: ...
- JavaWeb 图书管理系统
查看更多系统:系统大全,课程设计.毕业设计,请点击这里查看 01 系统简述 图书管理系统就是利用计算机,结合互联网对图书进行结构化.自动化管理的一种软件,来提高对图书的管理效率. 02 系统特点 集成 ...
- Java SE 11 新增特性
Java SE 11 新增特性 作者:Grey 原文地址:Java SE 11 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- 日本IT行业劳动力缺口达22万 在日中国留学生迎来就业好时机 2017/07/18 11:25:09
作者:倪亚敏 来源:日本新华侨报 发布时间:2017/07/18 11:25:09 据日本政府提供的数据,日本2018年应届毕业生的“求人倍率”已经达到了1.78倍.换言之,就是100名大学生 ...
- 黑盒测试实践--Day5 11.29
黑盒测试实践--Day5 11.29 今天完成任务情况: 分析系统需求,完成场景用例设计 小组负责测试的同学学习安装自动测试工具--QTP,并在线学习操作 小黄 今天的任务是完成场景测试用例的设计.在 ...
- 一键部署Moodle开源课程管理系统
产品详情 产品介绍Moodle https://moodle.org/ 是一个开源及自由的电子学习软件平台,亦称为课程管理系统.学习管理系统或虚拟学习环境.Moodle 特色异于其他商业线上教学平台, ...
随机推荐
- php红包生成随机算法
一.适用场景 红包总金额X,分配成Y个红包,每个红包随机金额. 二.生成算法 /** * 红包生成算法 * @param $money 总金额 * @param $number 红包数量 * @par ...
- Doing Research Needs Efforts
What is research? From YouTube Video or baiduyun Links What does not? spend many hours before you ...
- Linux的man手册共有以下几个章节
Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可. Linux的man手册共有以下几个章节: 1.Standard commands (标准命令) 2. ...
- 解决Ubuntu启动错误——kernel panic not syncing vfs unable to mount root fs on unknown-block 0 0 – error
最近在倒腾Ubuntu,然后想着怎么美化一下界面,于是照着网上的教程整了一下Flatabulous这个软件,然后好像/boot就满了.关机之后再开机就出现了如题所述的错误,无法开机,也无法进入reco ...
- android之对于view的一点深入理解
最近在写程序中,遇到了之前自己没遇到过的代码,一番理解后才知道原来是在动态设定xml布局中的属性.即利用LayoutParams可以动态的设定布局或者控件的宽和高,以及的它的左间距,右间距,内间距,和 ...
- POJ 1845 Sumdiv 【二分 || 逆元】
任意门:http://poj.org/problem?id=1845. Sumdiv Time Limit: 1000MS Memory Limit: 30000K Total Submissions ...
- HDU 1029 Ignatius and the Princess IV (map的使用)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1029 Ignatius and the Princess IV Time Limit: 2000/10 ...
- Learning by doing——获黄色领骑衫之感
获奖感言 能拿到这件黄色的领骑衫,心里真的非常高兴.仔细看了一下,扣子.领子.各种图案各种细节十分精致.可以说这件领骑衫既有纪念意义,又有实用意义,真的很棒. 背后的故事 其实开始接触博客的时候,我是 ...
- Oracle安装时出错,TNS-04612 :"XXX"的RHS 为空
安装Oracle11g时到最后一步,一直出现 “Oracle Net Configuration Assistant 失败” 试了好多次一直都没成功,在日志文件中的找到这几个错误: TNS-04404 ...
- 给出一个整数,将这个整数中每位上的数字进行反转(JavaScript编程)
一.问题描述:给出一个整数,将这个整数中每位上的数字进行反转.示例:输入:123,输出321:输入-123,输出-321:输入120,输出-21 二.问题分析与解决: 需要将给出的整数反转,注意示例中 ...