From b4eb1525f208ab0f430d36ab8bcbef97e90f7697 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=98=E6=96=87=E8=AF=9A?= <3287861587@qq.com> Date: Thu, 8 Jun 2023 23:16:21 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...30\345\267\245\347\256\241\347\220\206.md" | 405 ++++++++++++++++++ 1 file changed, 405 insertions(+) create mode 100644 "08 \345\256\230\346\226\207\350\257\232/20230608 \345\221\230\345\267\245\347\256\241\347\220\206.md" diff --git "a/08 \345\256\230\346\226\207\350\257\232/20230608 \345\221\230\345\267\245\347\256\241\347\220\206.md" "b/08 \345\256\230\346\226\207\350\257\232/20230608 \345\221\230\345\267\245\347\256\241\347\220\206.md" new file mode 100644 index 0000000..48c590f --- /dev/null +++ "b/08 \345\256\230\346\226\207\350\257\232/20230608 \345\221\230\345\267\245\347\256\241\347\220\206.md" @@ -0,0 +1,405 @@ +### sql语句 + +~~~ sql +create database CompanyManager charset utf8; +use CompanyManager; + +create table Dept( + + DeptID int primary key , ## 部门编号 主键 + DeptName varchar(20) not null ## 部门名称 不允许为空 +); + +create table Emp +( + EmpID int primary key auto_increment, ## 员工编号 主键,自动增长列 + EmpName varchar (20) not null , ## 员工姓名 不允许为空 + Sex char (2) not null , ## 性别 不允许为空 + Age int not null , ## 员工年龄 不允许为空 + Tel varchar (20) not null unique , ## 联系电话 不允许为空(唯一约束) + PassWord varchar (12) not null , ## 密码 不允许为空 + DeptID int, ## 部门编号 外键,关联部门表DeptID字段 + foreign key(DeptID) references Dept(DeptID) +); + +insert into Dept values + (1,'技术部'), + (2,'宣传部'), + (3,'财务部'), + (4,'后勤部'); + +insert into Emp values + (null,'张三','男',19,'18865456464','123',1), + (null,'叶子豪','女',29,'1886548964','111',4), + (null,'张四','男',19,'18865456874','222',2); + +~~~ + +### 标准类 + +Dept + +~~~ java +package bean; + +public class Dept { + private int DeptID; + private String DeptName; + + public int getDeptID() { + return DeptID; + } + + public void setDeptID(int deptID) { + DeptID = deptID; + } + + public String getDeptName() { + return DeptName; + } + + public void setDeptName(String deptName) { + DeptName = deptName; + } + + public Dept() { + } + + public Dept(int deptID, String deptName) { + DeptID = deptID; + DeptName = deptName; + } +} + +~~~ + +Emp + +~~~java +package bean; + +public class Emp { + private int empId; + private String empName; + private String sex; + private int age; + private String tel; + private String passWord; + private int deptId; + private String deptName; + + public int getEmpId() { + return empId; + } + + public void setEmpId(int empId) { + this.empId = empId; + } + + public String getEmpName() { + return empName; + } + + public void setEmpName(String empName) { + this.empName = empName; + } + + public String getSex() { + return sex; + } + + public void setSex(String sex) { + this.sex = sex; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public String getTel() { + return tel; + } + + public void setTel(String tel) { + this.tel = tel; + } + + public String getPassWord() { + return passWord; + } + + public void setPassWord(String passWord) { + this.passWord = passWord; + } + + public int getDeptId() { + return deptId; + } + + public void setDeptId(int deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public Emp() { + } + + public Emp(int empId, String empName, String sex, int age, String tel, String passWord, int deptId, String deptName) { + this.empId = empId; + this.empName = empName; + this.sex = sex; + this.age = age; + this.tel = tel; + this.passWord = passWord; + this.deptId = deptId; + this.deptName = deptName; + } +} + +~~~ + +### 工具类 + +~~~java +package Utiis; + +import java.sql.*; + +public class DBUtil { + // 1.定义数据库地址,用户名,密码,字符集 + private static final String url="jdbc:mysql:///CompanyManager?useSSL=false&useUnicode=true&characterEncoding=utf8"; + private static final String user="root"; + private static final String pwd="root"; + // 2.注册驱动 + static { + try { + Class.forName("com.mysql.jdbc.Driver"); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } + //3.获取连接对象 + public static Connection getConn() throws SQLException { + Connection conn = DriverManager.getConnection(url, user, pwd); + return conn; + } + //4.通用的查询方法,接受sql语句 + public static ResultSet query(String sql, Object... keys){ + ResultSet res = null; + + try { + //1.获取连接对象 + Connection conn = getConn(); + //2.获取执行sql的对象 + PreparedStatement pre = conn.prepareStatement(sql); + //3.遍历数组,将参数赋值给?号 + for (int i = 0; i < keys.length; i++) { + pre.setObject((i+1),keys[i]); + } + //4.执行sql,得到一个结果集 + res = pre.executeQuery(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return res; + } + + //5.通用的update,更新,添加,删除 + public static int update(String sql, Object... keys){ + int num = 0; + + try { + //1.获取连接对象 + Connection conn = getConn(); + //2.获取执行sql的对象 + PreparedStatement pre = conn.prepareStatement(sql); + //3.遍历数组,将参数赋值给?号 + for (int i = 0; i < keys.length; i++) { + pre.setObject((i+1),keys[i]); + } + //4.执行sql,得到一个结果集 + num = pre.executeUpdate(); + } catch (SQLException e) { + e.printStackTrace(); + } + + return num; + } +} + +~~~ + +### servlet + +ListServlet + +~~~java +package servlet; + +import Utiis.DBUtil; +import bean.Emp; + +import javax.servlet.*; +import javax.servlet.http.*; +import javax.servlet.annotation.*; +import java.io.IOException; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; + +@WebServlet("/list") +public class ListServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //1.编写查询的sql语句 + String sql="select * from dept d,emp e where d.DeptID=e.DeptID"; + //2.调用工具类,执行sql得到的结果集 + ResultSet res = DBUtil.query(sql); + //3.把结果集变成一个集合 + ArrayList list = new ArrayList<>(); + // 3.5 遍历结果集,将元素封装成对象,添加到集合 + try { + while (res.next()){ + int deptId = res.getInt(1); + String deptName = res.getString(2); + int empId = res.getInt(3); + String empName = res.getString(4); + String sex = res.getString(5); + int age = res.getInt(6); + String tel = res.getString(7); + String passWord = res.getString(8); + Emp emp = new Emp(deptId,deptName,sex,age,tel,passWord,empId,empName); + list.add(emp); + } + } catch (SQLException e) { + e.printStackTrace(); + } + //4.把集合放入request + request.setAttribute("list",list); + //5.把请求转发给jsp + request.getRequestDispatcher("/WEB-INF/list.jsp").forward(request,response); + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } +} + +~~~ + +SearchServlet + +~~~java +package servlet; + +import Utiis.DBUtil; +import bean.Emp; + +import javax.servlet.*; +import javax.servlet.http.*; +import javax.servlet.annotation.*; +import java.io.IOException; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; + +@WebServlet("/Search") +public class SearchServlet extends HttpServlet { + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + //接收表单数据,到数据库查询,将结果返回jsp显示 + // 0.处理乱码 + request.setCharacterEncoding("utf-8"); + //获取表单数据 + String username = request.getParameter("username"); + //1.编写查询的sql语句 + String sql="select * from dept d,emp e where d.DeptID=e.DeptID and empname like ?"; + //2.调用工具类,执行sql得到的结果集 + ResultSet res = DBUtil.query(sql,"%"+username+"%"); + //3.把结果集变成一个集合 + ArrayList list = new ArrayList<>(); + // 3.5 遍历结果集,将元素封装成对象,添加到集合 + try { + while (res.next()){ + int deptId = res.getInt(1); + String deptName = res.getString(2); + int empId = res.getInt(3); + String empName = res.getString(4); + String sex = res.getString(5); + int age = res.getInt(6); + String tel = res.getString(7); + String passWord = res.getString(8); + Emp emp = new Emp(deptId,deptName,sex,age,tel,passWord,empId,empName); + list.add(emp); + } + } catch (SQLException e) { + e.printStackTrace(); + } + //4.把集合放入request + request.setAttribute("list",list); + //5.把请求转发给jsp + request.getRequestDispatcher("/WEB-INF/list.jsp").forward(request,response); + } + } + + +~~~ + +### jsp + +~~~java +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> + +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + +
+ 姓名: +
+ + + + + + + + + + + + + + + + + + + + +
编号姓名性别年龄电话所属部门
${emp.empId}${emp.deptName}${emp.sex}${emp.age}${emp.tel}${emp.empName}
+ + + +~~~ + -- Gitee