diff --git "a/17 \345\221\250\345\257\214/20230605\347\254\254\345\233\233\346\254\241\344\275\234\344\270\232.md" "b/17 \345\221\250\345\257\214/20230605\347\254\254\345\233\233\346\254\241\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..045b98891c5b4a65a66f4793a0168a580bfbb2e6 --- /dev/null +++ "b/17 \345\221\250\345\257\214/20230605\347\254\254\345\233\233\346\254\241\344\275\234\344\270\232.md" @@ -0,0 +1,436 @@ +```java +//建库 +create database CarInfo charset utf8; +//用库 +use CarInfo; +//建表 +create table Barand( +BrandID int PRIMARY key auto_increment, +BrandName varchar(50) not null +); +create table ( +CID int PRimary key auto_increment, +Cname VARCHAR(20), +Content VARCHAR(200) not null, +ltime TIMESTAMP not null DEFAULT NOW(), +price int, +BrandID int, +FOREIGN key (BrandID) REFERENCES Brand(BrandID) +); +//插入数据 +insert into barand values (0,"宝马"),(0,"奔驰"),(0,"奥迪"); +insert into CarDetail VALUES + (0,"宝马1","好嘛","2023-06-05 18:30:00",152368,1), + (0,"奔驰2","好车","2023-06-05 21:30:00",862487,2), + (0,"奥迪3","豪车","2023-08-05 6:30:00",589658,3); +``` + +数据类 + +```java +package bean; + +import java.util.Date; + +public class CarDetail { + private int cId; + private String cName; + private String content; + private Date lTime; + private int price; + private int BrandID; + private String brandName; + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public CarDetail(int cId, String cName, String content, Date lTime, int price, int brandID, String brandName) { + this.cId = cId; + this.cName = cName; + this.content = content; + this.lTime = lTime; + this.price = price; + BrandID = brandID; + this.brandName = brandName; + } + + @Override + public String toString() { + return "CarDetail{" + + "cId=" + cId + + ", cName='" + cName + '\'' + + ", content='" + content + '\'' + + ", lTime=" + lTime + + ", price=" + price + + ", BrandID=" + BrandID + + '}'; + } + + 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 String getContent() { + return content; + } + + public void setContent(String content) { + this.content = content; + } + + public Date getLTime() { + return lTime; + } + + public void setLTime(Date lTime) { + this.lTime = lTime; + } + + public int getPrice() { + return price; + } + + public void setPrice(int price) { + this.price = price; + } + + public int getBrandID() { + return BrandID; + } + + public void setBrandID(int brandID) { + BrandID = brandID; + } + + public CarDetail() { + } +} +package bean; + +public class Brand { + int brandId; + String brandName; + + public Brand() { + } + + @Override + public String toString() { + return "Brand{" + + "brandId=" + brandId + + ", brandName='" + brandName + '\'' + + '}'; + } + + public int getBrandId() { + return brandId; + } + + public void setBrandId(int brandId) { + this.brandId = brandId; + } + + public String getBrandName() { + return brandName; + } + + public void setBrandName(String brandName) { + this.brandName = brandName; + } + + public Brand(int brandId, String brandName) { + this.brandId = brandId; + this.brandName = brandName; + } +} +``` + +增删改查工具类 + +```java +package utils; + +import java.sql.*; + +public class DBUtil { + private static final String url ="jdbc:mysql:///carinfo?useSSL=false&characterEncoding=utf8"; + private static final String user="root"; + private static final String password="root"; + + //注册驱动 + static { + try { + Class.forName("com.mysql.jdbc.Driver"); + } catch (ClassNotFoundException e) { + System.out.println("注册驱动失败"); + e.printStackTrace(); + } + } + //获取链接 + public static Connection getConn() { + Connection conn = null; + try { + conn = DriverManager.getConnection(url, user, password); + } catch (SQLException e) { + e.printStackTrace(); + } + return conn; + } + //通用查询 + public static ResultSet query(String sql, Object ...keys) { + Connection conn = getConn(); + ResultSet rs = null; + try { + PreparedStatement pst = conn.prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pst.setObject((1+1),keys[i]); + } + rs = pst.executeQuery(); + } catch (SQLException e) { + e.printStackTrace(); + } + return rs; + } + //增删改 + public static int update(String sql,Object ...keys) { + Connection conn = getConn(); + int num = 0; + try { + PreparedStatement pst = conn.prepareStatement(sql); + for (int i = 0; i < keys.length; i++) { + pst.setObject((i + 1), keys[i]); + } + num = pst.executeUpdate(); + + } catch (SQLException e) { + e.printStackTrace(); + } + return num; + } +} +package dao; + +import bean.Brand; +import bean.CarDetail; +import utils.DBUtil; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Date; + +public class CarDao { + public ArrayList getAllCar(){ + ArrayList list=new ArrayList<>(); + String sql="select * from CarDetail,Barand where CarDetail.brandid=Barand.brandid"; + ResultSet rs = DBUtil.query(sql); + try { + while (rs.next()){ + int cid =rs.getInt("cid"); + String cname=rs.getString("cname"); + String content=rs.getString("content"); + Date ltime=rs.getDate("ltime"); + int price=rs.getInt("price"); + int brandid=rs.getInt("brandid"); + String brandName=rs.getString("brandName"); + CarDetail card = new CarDetail(cid, cname, content, ltime, price, brandid,brandName); + list.add(card); + System.out.println("list = " + list); + } + } catch (SQLException e) { + e.printStackTrace(); + } + return list; + } + + public int addCar(CarDetail car){ + String sql="insere into cardetail values (?,?,?,?,?,?)"; + int i =DBUtil.update(sql,car.getCId(),car.getCName(),car.getContent(),car.getLTime(),car.getPrice(),car.getBrandID()); + return i; + } +} +``` + +servlet + +```java +package servlet; + +import bean.Brand; +import bean.CarDetail; +import dao.CarDao; + +import javax.servlet.*; +import javax.servlet.http.*; +import javax.servlet.annotation.*; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.SimpleTimeZone; + +@WebServlet("/car/*") +public class CarController extends HttpServlet { + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + //获取/*的具体路径 + String path = request.getPathInfo(); + if (path == null || path.equals("/")) { + ArrayList list = new CarDao().getAllCar(); + request.setAttribute("list", list); + request.getRequestDispatcher("/WEB-INF/carList.jsp").forward(request, response); + } else if (path.equals("/add")) { +// ArrayList list = new ArrayList<>(); + ArrayList list = new CarDao().getAllCar(); + request.setAttribute("brand", list); + request.getRequestDispatcher("/WEB-INF/add.jsp").forward(request, response); + } + } + + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + request.setCharacterEncoding("utf-8"); + String path = request.getPathInfo(); + if (path.equals("/save")){ + String name = request.getParameter("name"); + int brand = Integer.parseInt(request.getParameter("brand")); + String content = request.getParameter("content"); + int price = Integer.parseInt(request.getParameter("price")); + String date = request.getParameter("date"); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date newDate = null; + CarDetail car = new CarDetail(0,name,content,newDate,price,brand,null); + int i = new CarDao().addCar(car); + if (i>0){ + response.sendRedirect("/car"); + request.setAttribute("msg","添加成功"); + request.getRequestDispatcher("/WEB-INF/msg.jsp").forward(request,response); + }else { + request.setAttribute("msg","添加失败"); + request.getRequestDispatcher("/WEB-INF/msg.jsp").forward(request,response); + } + } + } +} +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%-- + Created by IntelliJ IDEA. + User: 86185 + Date: 2023/6/5 + Time: 20:57 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
车辆名称
所属品牌
车辆简介
价格
录入时间
+ +
+
+ + +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%-- + Created by IntelliJ IDEA. + User: 86185 + Date: 2023/6/4 + Time: 23:12 + To change this template use File | Settings | File Templates. +--%> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + Title + + + + + + + + + + + + + + + + + + + + + + + +
序号车辆名称所属品牌车辆简介价格录入时间
${car.CId}${car.CName}${car.brandName}${car.content}${car.price}${car.LTime}
+ + +<%@ page contentType="text/html;charset=UTF-8" language="java" %> + + + 提示信息 + + +

${msg}

+ + +``` +