DBUtil.java

package com.hjf.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
 * 数据库连接工具
 * @author Hu
 *
 */
public class DBUtil {
 public static String db_url = "jdbc:mysql://localhost:3306/test?&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";
 public static String db_user = "root";
 public static String db_pass = "root";
 
 public static Connection getConn () {
  Connection conn = null;
  
  try {
   Class.forName("com.mysql.cj.jdbc.Driver");//连接数据库
   conn = DriverManager.getConnection(db_url, db_user, db_pass);
  } catch (Exception e) {
   e.printStackTrace();
  }
  
  return conn;
 }
 
 /**
  * 关闭连接
  * @param state
  * @param conn
  */
 public static void close (Statement state, Connection conn) {
  if (state != null) {
   try {
    state.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  
  if (conn != null) {
   try {
    conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
 
 public static void close (ResultSet rs, Statement state, Connection conn) {
  if (rs != null) {
   try {
    rs.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  
  if (state != null) {
   try {
    state.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
  
  if (conn != null) {
   try {
    conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
}
 
CourseServlet.java
 
package com.hjf.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.hjf.entity.Course;
import com.hjf.service.CourseService;
@WebServlet("/CourseServlet")
public class CourseServlet extends HttpServlet {
 
 private static final long serialVersionUID = 1L;
 CourseService service = new CourseService();
 
 /**
  * 方法选择
  */
 protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  req.setCharacterEncoding("utf-8");
  String method = req.getParameter("method");
  if ("add".equals(method)) {
   add(req, resp);
  } else if ("del".equals(method)) {
   del(req, resp);
  } else if ("update".equals(method)) {
   update(req, resp);
  } else if ("search".equals(method)) {
   search(req, resp);
  } else if ("getcoursebyid".equals(method)) {
   getCourseById(req, resp);
  } else if ("getcoursebyname".equals(method)) {
   getCourseByName(req, resp);
  } else if ("list".equals(method)) {
   list(req, resp);
  }
 }
 /**
  * 添加
  * @param req
  * @param resp
  * @throws IOException
  * @throws ServletException
  */
 private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
  req.setCharacterEncoding("utf-8");
  String name = req.getParameter("name");
  String place = req.getParameter("place");
  String guige = req.getParameter("guige");
  String number = req.getParameter("number");
  Course course = new Course(name, place, guige,number);
  
  //添加后消息提示
  if(service.add(course)) {
   req.setAttribute("message", "添加成功");
   req.getRequestDispatcher("add.jsp").forward(req,resp);
  } else {
   req.setAttribute("message", "物资名称重复,请重新录入");
   req.getRequestDispatcher("add.jsp").forward(req,resp);
  }
 }
 
 /**
  * 全部
  * @param req
  * @param resp
  * @throws ServletException
  */
 private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
  req.setCharacterEncoding("utf-8");
  List<Course> courses = service.list();
  req.setAttribute("courses", courses);
  req.getRequestDispatcher("list.jsp").forward(req,resp);
 }
 /**
  * 通过ID得到Course
  * @param req
  * @param resp
  * @throws ServletException
  */
 private void getCourseById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
  req.setCharacterEncoding("utf-8");
  int id = Integer.parseInt(req.getParameter("id"));
  Course course = service.getCourseById(id);
  req.setAttribute("course", course);
  req.getRequestDispatcher("detail2.jsp").forward(req,resp);
 }
 /**
  * 通过名字查找 
  * 跳转至删除
  * @param req
  * @param resp
  * @throws IOException
  * @throws ServletException
  */
 private void getCourseByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
  req.setCharacterEncoding("utf-8");
  String name = req.getParameter("name");
  Course course = service.getCourseByName(name);
  if(course == null) {
   req.setAttribute("message", "查无此物资");
   req.getRequestDispatcher("del.jsp").forward(req,resp);
  } else {
   req.setAttribute("course", course);
   req.getRequestDispatcher("detail.jsp").forward(req,resp);
  }
 }
 
 /**
  * 删除
  * @param req
  * @param resp
  * @throws IOException
  * @throws ServletException
  */
 private void del(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
  req.setCharacterEncoding("utf-8");
  int id = Integer.parseInt(req.getParameter("id"));
  service.del(id);
  req.setAttribute("message", "删除成功");
  req.getRequestDispatcher("del.jsp").forward(req,resp);
 }
 
 /**
  * 修改
  * @param req
  * @param resp
  * @throws IOException
  * @throws ServletException
  */
 private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
  req.setCharacterEncoding("utf-8");
  int id = Integer.parseInt(req.getParameter("id"));
  String name = req.getParameter("name");
  String place = req.getParameter("place");
  String guige = req.getParameter("guige");
  String number = req.getParameter("number");
  Course course = new Course(id, name, place, guige,number);
  
  service.update(course);
  req.setAttribute("message", "修改成功");
  req.getRequestDispatcher("CourseServlet?method=list").forward(req,resp);
 }
 
 /**
  * 查找
  * @param req
  * @param resp
  * @throws ServletException
  */
 private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
  req.setCharacterEncoding("utf-8");
  String name = req.getParameter("name");
  String place = req.getParameter("place");
  String guige = req.getParameter("guige");
  String number = req.getParameter("number");
  List<Course> courses = service.search(name, place, guige,number);
  req.setAttribute("courses", courses);
  req.getRequestDispatcher("searchlist.jsp").forward(req,resp);
 }
}
 
CourseService.java
 
package com.hjf.service;
import java.util.List;
import com.hjf.dao.CourseDao;
import com.hjf.entity.Course;
/**
 * CourseService
 * 服务层
 * @author Hu
 *
 */
public class CourseService {
 CourseDao cDao = new CourseDao();
 
 /**
  * 添加
  * @param course
  * @return
  */
 public boolean add(Course course) {
  boolean f = false;
  if(!cDao.name(course.getName())) {
   cDao.add(course);
   f = true;
  }
  return f;
 }
 
 /**
  * 删除
  */
 public void del(int id) {
  cDao.delete(id);
 }
 
 /**
  * 修改
  * @return
  */
 public void update(Course course) {
  cDao.update(course);
 }
 
 /**
  * 通过ID得到一个Course
  * @return
  */
 public Course getCourseById(int id) {
  return cDao.getCourseById(id);
 }
 /**
  * 通过name得到一个Course
  * @return
  */
 public Course getCourseByName(String name) {
  return cDao.getCourseByName(name);
 }
 
 /**
  * 查找
  * @return
  */
 public List<Course> search(String name, String place, String guige,String number) {
  return cDao.search(name, place, guige,number);
 }
 
 /**
  * 全部数据
  * @return
  */
 public List<Course> list() {
  return cDao.list();
 }
}
 
Course.java
 
package com.hjf.entity;
public class Course {
 private int id;
 private String name;
 private String place;
 private String guige;
 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 getPlace()
 {
  return place;
 }
 public void setPlace(String place)
 {
  this.place = place;
 }
 public String getGuige()
 {
  return guige;
 }
 public void setGuige(String guige)
 {
  this.guige = guige;
 }
 public String getNumber()
 {
  return number;
 }
 public void setNumber(String number)
 {
  this.number = number;
 }
 public Course() {}
 
 public Course(int id, String name, String teacher, String classroom,String number) {
  this.id = id;
  this.name = name;
  this.place = place;
  this.guige = guige;
  this.number=number;
 }
 
 public Course(String name, String teacher, String classroom,String number) {
  this.name = name;
  this.place = place;
  this.guige = guige;
  this.number=number;
 }
 
 CourseDao.java
 
package com.hjf.dao;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.hjf.entity.Course;
import com.hjf.util.DBUtil;
/**
 * 商品Dao
 * Dao层操作数据
 * @author Hu
 *
 */
public class CourseDao {
 /**
  * 添加
  * @param course
  * @return
  */
 public boolean add(Course course) {
  String sql = "insert into course(name, place, guige,number) values('" + course.getName() + "','" + course.getPlace() + "','" + course.getGuige() + "','" + course.getNumber()+"')";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  boolean f = false;
  int a = 0;
  
  try {
   state = conn.createStatement();
   state.executeUpdate(sql);
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(state, conn);
  }
  
  if (a > 0) {
   f = true;
  }
  return f;
 }
 /**
  * 删除
  *
  * @param id
  * @return
  */
 public boolean delete (int id) {
  boolean f = false;
  String sql = "delete from course where id='" + id + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  int a = 0;
  
  try {
   state = conn.createStatement();
   state.executeUpdate(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(state, conn);
  }
  
  if (a > 0) {
   f = true;
  }
  return f;
 }
 /**
  * 修改
  * @param name
  * @param pass
  */
 public boolean update(Course course) {
  String sql = "update course set name='" + course.getName() + "', place='" + course.getPlace() + "', guige='" + course.getGuige()+"', number='" + course.getNumber()
   + "' where id='" + course.getId() + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  boolean f = false;
  int a = 0;
  try {
   state = conn.createStatement();
   a=state.executeUpdate(sql);
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(state, conn);
  }
  
  if (a > 0) {
   f = true;
  }
  return f;
 }
 
 /**
  * 验证课程名称是否唯一
  * true --- 不唯一
  * @param name
  * @return
  */
 public boolean name(String name) {
  boolean flag = false;
  String sql = "select name from course where name = '" + name + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;
  
  try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   while (rs.next()) {
    flag = true;
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  return flag;
 }
 
 /**
  * 通过ID得到类
  * @param id
  * @return
  */
 public Course getCourseById(int id) {
  String sql = "select * from course where id ='" + id + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;
  Course course = null;
  
  try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   while (rs.next()) {
    String name = rs.getString("name");
    String place = rs.getString("place");
    String guige = rs.getString("guige");
    String number = rs.getString("number");
    course = new Course(id, name, place,guige,number);
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  
  return course;
 }
 
 /**
  * 通过name得到Course
  * @param name
  * @return
  */
 public Course getCourseByName(String name) {
  String sql = "select * from course where name ='" + name + "'";
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;
  Course course = null;
  
  try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   while (rs.next()) {
    int id = rs.getInt("id");
    String place = rs.getString("place");
    String guige = rs.getString("guige");
    String number = rs.getString("number");
    course = new Course(id, name, place, guige,number);
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  
  return course;
 }
 
 /**
  * 查找
  * @param name
  * @param place
  * @param guige
  * @param number
  * @return
  */
 public List<Course> search(String name, String place, String guige,String number) {
  String sql = "select * from course where ";
  if (name != "") {
   sql += "name like '%" + name + "%'";
  }
  if (place != "") {
   sql += "place like '%" + place + "%'";
  }
  if (guige != "") {
   sql += "guige like '%" + guige + "%'";
  }
  if (number != "") {
   sql += "name like '%" + number + "%'";
  }
  List<Course> list = new ArrayList<>();
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;
  try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   Course bean = null;
   while (rs.next()) {
    int id = rs.getInt("id");
    String name2 = rs.getString("name");
    String place2 = rs.getString("place");
    String guige2 = rs.getString("guige");
    String number2 = rs.getString("number2");
    bean = new Course(id, name2, place2, guige2,number2);
    list.add(bean);
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  
  return list;
 }
 
 /**
  * 全部数据
  * @param name
  * @param place
  * @param guige
  * @return
  */
 public List<Course> list() {
  String sql = "select * from course";
  List<Course> list = new ArrayList<>();
  Connection conn = DBUtil.getConn();
  Statement state = null;
  ResultSet rs = null;
  try {
   state = conn.createStatement();
   rs = state.executeQuery(sql);
   Course bean = null;
   while (rs.next()) {
    int id = rs.getInt("id");
    String name2 = rs.getString("name");
    String place2 = rs.getString("place");
    String guige2 = rs.getString("guige");
    String number2 = rs.getString("number2");
    bean = new Course(id, name2, place2, guige2,number2);
    list.add(bean);
   }
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   DBUtil.close(rs, state, conn);
  }
  
  return list;
 }
}
 
OK,以上就是java部分
总的来说,现在完成这个所要求的功能还是蛮快的。
 

JavaWeb——库存管理系统(2).java部分---18.12.13的更多相关文章

  1. JavaWeb——库存管理系统(1)jsp部分---18.12.13

    add.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"    pa ...

  2. Java学习笔记7(简易的超市库存管理系统示例)

    用以前学过的知识,可以简单地做一个超市库存管理系统: 定义一个商品类: public class FruitItem { int ID; String name; double price; int ...

  3. 图书管理系统(Java实现,十个数据表,含源码、ER图,超详细报告解释,2020.7.11更新)

    图书管理系统数据库设计实验报告 文章目录 更新日志 1.概述 2.需求分析 2.1需要实现的功能 2.2业务流程图 2.2.1学生流程图 2.2.2管理员流程图 2.2.3超级管理员流程图 2.3功能 ...

  4. 那一夜,我们..奋笔疾书敲出的--->>库存管理系统

    说了会再见,最近好吗?无论你在哪里>也许你在温暖的家,或许你在身在异乡的城市;或许你高高的峰顶放生高歌,或许你还在陡峭的山峰半空努力攀爬.......相信我们都会登上顶峰,"会当凌绝顶 ...

  5. 【Java】-NO.12.Java.2.OCJP.1.001-【Java OCJP】-

    1.0.0 Summary Tittle:[Java]-NO.12.Java.2.OCJP.1.001-[Java OCJP]- Style:Java Series:OCJP Since:2017-0 ...

  6. 2018面向对象程序设计(Java)第12周学习指导及要求

    2018面向对象程序设计(Java)第12周学习指导及要求 (2018.11.15-2018.11.18)   学习目标 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: (2) 掌 ...

  7. Java设计模式(12)迭代模式(Iterator模式)

    上了这么多年学,我发现一个问题,好象老师都很喜欢点名,甚至点名都成了某些老师的嗜好,一日不点名,就饭吃不香,觉睡不好似的,我就觉得很奇怪,你的课要是讲的好,同学又怎么会不来听课呢,殊不知:“误人子弟, ...

  8. JavaSE库存管理系统项目实战

    需求分析 企业库房用于存放成品.半成品.原材料.工具等物资,一般情况下,这些物资统称为物料.库存管理常见业务包括物资的入库.出库.盘点.退货.报废以及财务核算等,业务逻辑比较复杂,库房信息系统项目开发 ...

  9. 面向对象程序设计(JAVA) 第12周学习指导及要求

    2019面向对象程序设计(Java)第12周学习指导及要求 (2019.11.15-2019.11.18)   学习目标 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API ...

随机推荐

  1. W3School学习网站

    http://www.w3school.com.cn/tags/att_form_autocomplete.asp

  2. 设计模式:享元(FlyWeight)模式

    设计模式:享元(FlyWeight)模式 一.前言     享元(FlyWeight)模式顾名思义,既是轻量级的,原因就是享元,共享元素,这里的元素指的是对象.如何共享对象,那就是在检测对象产生的时候 ...

  3. SAP C/4HANA Sales Cloud使用OData服务和第三方系统集成的一个具体例子

    出于工作需要,Jerry写了这篇文章,给某些Partner做参考. 以前Jerry曾经介绍过SAP C/4HANA的五朵云到底包含哪些具体产品,其实在SAP官网上有更权威的中文解释: https:// ...

  4. Java 中的引用

    JVM 是根据可达性分析算法找出需要回收的对象,判断对象的存活状态都和引用有关. 在 JDK1.2 之前这点设计的非常简单:一个对象的状态只有引用和没被引用两种区别. 这样的划分对垃圾回收不是很友好, ...

  5. 导入项目@Override报错原因及解决办法

    从别人那里拷贝来的项目,在人家的环境里没有错误,可是导入到自己本地工程之后报错,删除掉@Override注解后就不报错,导致该原因的是本地工程的JDK版本未更新. 解决办法:调整JDK版本 如此即可解 ...

  6. 【[USACO13NOV]没有找零No Change】

    其实我是点单调队列的标签进来的,之后看着题就懵逼了 于是就去题解里一翻,发现楼上楼下的题解说的都好有道理, f[j]表示一个再使用一个硬币就能到达i的某个之前状态,b[now]表示使用那个能使状态j变 ...

  7. 清空oracle session

    select 'alter system kill session '''||sid|| ','||serial#||''';' from v$session where username =' ';

  8. [转]:理解 Linux 配置文件

    简介: 本文说明了 Linux 系统的配置文件,在多用户.多任务环境中,配置文件控制用户权限.系统应用程序.守护进程.服务和其它管理任务.这些任务包括管理用户帐号.分配磁盘配 额.管理电子邮件和新闻组 ...

  9. Google Fonts导致网页加载速度慢

    最近在做商城项目时候发现在加载一个html页面反应非常慢,查看发现是Google Font导致的网页加载速度缓慢,删除掉该样式会发现很多内容出错. 上网百度发现问题在于: 谷歌香港(google.co ...

  10. Epub 阅读器 - iOS

    因项目需求接触的 EPub 阅读器,前前后后尝试了很多库,最后找到了个相对兼容不错的展开了调试;其中对解压缩和数据加载方面进行了改造优化,使其更加的完美; 其大概原理是首先将 epub 文件解压后得到 ...