日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

jsp+servlet+mysql增删改查

發布時間:2025/4/16 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp+servlet+mysql增删改查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用的IntelliJ IDEA開發的,jdk1.8

1 首先是項目結構,如下圖所示

?

2看各層的代碼

首先是web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><servlet><servlet-name>book</servlet-name><servlet-class>controller.BookController</servlet-class><init-param><param-name>charSetContent</param-name><param-value>utf-8</param-value></init-param></servlet><servlet-mapping><servlet-name>book</servlet-name><url-pattern>/BookController</url-pattern></servlet-mapping></web-app>

?

接下來是Controller

package controller;import model.Book; import net.sf.json.JSONObject; import service.IBookService; import serviceImpl.BookService;import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List;/*** Created by Administrator on 2018/2/2.*/ public class BookController extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("UTF-8");String flag = req.getParameter("flag");String id = req.getParameter("bid");Integer bid = null;if (!"".equals(id)) {bid = Integer.parseInt(req.getParameter("bid"));}if ("1".equals(flag)) {IBookService bookService = new BookService();List<Book> book = bookService.selectByPrimaryKey(bid);req.setAttribute("list", book);req.getRequestDispatcher("jsp/index.jsp").forward(req, resp);} else if ("2".equals(flag)) {IBookService bookService = new BookService();bookService.deleteByPrimaryKey(bid);List<Book> book = bookService.selectByPrimaryKey(null);req.setAttribute("list", book);req.getRequestDispatcher("jsp/index.jsp").forward(req, resp);} else if ("3".equals(flag)) {Double bPrice = Double.parseDouble(req.getParameter("bPrice"));int stock = Integer.parseInt(req.getParameter("stock"));Book book = new Book();book.setBid(bid);book.setbPrice(bPrice);book.setStock(stock);IBookService bookService = new BookService();bookService.updateByPrimaryKey(book);List<Book> book1 = bookService.selectByPrimaryKey(null);req.setAttribute("list", book1);req.getRequestDispatcher("jsp/index.jsp").forward(req, resp);} else if ("4".equals(flag)) {String bname = new String(req.getParameter("bname").getBytes("ISO-8859-1"), "UTF-8");String image = req.getParameter("image");Double bPrice = Double.parseDouble(req.getParameter("bPrice"));int stock = Integer.parseInt(req.getParameter("stock"));Book book = new Book();book.setBid(bid);book.setBookname(bname);book.setImage(image);book.setbPrice(bPrice);book.setStock(stock);IBookService bookService = new BookService();bookService.insert(book);List<Book> book1 = bookService.selectByPrimaryKey(null);req.setAttribute("list", book1);req.getRequestDispatcher("jsp/index.jsp").forward(req, resp);}}@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doPost(req, resp);}}

?

service層

package service;import model.Book;import java.util.List;/*** Created by Administrator on 2018/2/2.*/ public interface IBookService {/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void deleteByPrimaryKey(Integer bid);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void insert(Book record);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void insertSelective(Book record);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/List<Book> selectByPrimaryKey(Integer bid);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void updateByPrimaryKeySelective(Book record);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void updateByPrimaryKey(Book record);}

?

package serviceImpl;import dao.IBookDao; import daoImpl.BookDao; import model.Book; import service.IBookService;import java.util.List;/*** Created by Administrator on 2018/2/2.*/ public class BookService implements IBookService {IBookDao bookDao = new BookDao();public void deleteByPrimaryKey(Integer bid) {bookDao.deleteByPrimaryKey(bid);}public void insert(Book record) {bookDao.insert(record);}public void insertSelective(Book record) {bookDao.insertSelective(record);}public List<Book> selectByPrimaryKey(Integer bid) {List<Book> book = bookDao.selectByPrimaryKey(bid);return book;}public void updateByPrimaryKeySelective(Book record) {bookDao.updateByPrimaryKeySelective(record);}public void updateByPrimaryKey(Book record) {bookDao.updateByPrimaryKey(record);}}

Dao層

?

package dao;import model.Book;import java.util.List;public interface IBookDao {/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void deleteByPrimaryKey(Integer bid);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void insert(Book record);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void insertSelective(Book record);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/List<Book> selectByPrimaryKey(Integer bid);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void updateByPrimaryKeySelective(Book record);/*** This method was generated by MyBatis Generator.* This method corresponds to the database table books** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/void updateByPrimaryKey(Book record);}

  

package daoImpl;import dao.IBookDao; import model.Book; import util.DBUtil;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List;/*** Created by Administrator on 2018/2/2.*/ public class BookDao implements IBookDao {ResultSet rs = null;Connection conn = null;PreparedStatement pst = null;public List<Book> selectByPrimaryKey(Integer bid) {String sqlQuery;if (null == bid || "".equals(bid)) {sqlQuery = "select * from books";} else {sqlQuery = "select * from books where bid=" + bid;}List<Book> list = new ArrayList<Book>();try {conn = DBUtil.getConnection();pst = conn.prepareStatement(sqlQuery);rs = pst.executeQuery();if (rs != null) {while (rs.next()) {int bId = rs.getInt(1);String bookName = rs.getString(2);double bPrince = rs.getDouble(3);String image = rs.getString(4);int stock = rs.getInt(5);Book book1 = new Book(bId, bookName, bPrince, image, stock);list.add(book1);}}} catch (Exception e) {e.printStackTrace();} finally {DBUtil.release(rs, pst, conn);}return list;}public void deleteByPrimaryKey(Integer bid) {String del = "delete from books where bid=" + bid;try {conn = DBUtil.getConnection();pst = conn.prepareStatement(del);pst.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBUtil.release(rs, pst, conn);}}public void insert(Book record) {String update = " insert books(bid,bookname,b_price,image,stock) VALUES(" + record.getBid() + ",'" + record.getBookname() + "'," + record.getbPrice() + ",'" + record.getImage() + "'," + record.getStock() + ");";try {conn = DBUtil.getConnection();pst = conn.prepareStatement(update);pst.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBUtil.release(rs, pst, conn);}}public void insertSelective(Book record) {}public void updateByPrimaryKeySelective(Book record) {}public void updateByPrimaryKey(Book record) {String update = "update books set b_price=" + record.getbPrice() + ",stock=" + record.getStock() + " where bid=" + record.getBid();try {conn = DBUtil.getConnection();pst = conn.prepareStatement(update);pst.executeUpdate();} catch (Exception e) {e.printStackTrace();} finally {DBUtil.release(rs, pst, conn);}}}

  model

?

package model;public class Book {/*** This field was generated by MyBatis Generator.* This field corresponds to the database column books.BID** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/private Integer bid;/*** This field was generated by MyBatis Generator.* This field corresponds to the database column books.BOOKNAME** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/private String bookname;/*** This field was generated by MyBatis Generator.* This field corresponds to the database column books.B_PRICE** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/private Double bPrice;/*** This field was generated by MyBatis Generator.* This field corresponds to the database column books.IMAGE** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/private String image;/*** This field was generated by MyBatis Generator.* This field corresponds to the database column books.STOCK** @mbggenerated Fri Feb 02 21:32:15 CST 2018*/private Integer stock;/*** This method was generated by MyBatis Generator.* This method returns the value of the database column books.BID** @return the value of books.BID* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public Integer getBid() {return bid;}/*** This method was generated by MyBatis Generator.* This method sets the value of the database column books.BID** @param bid the value for books.BID* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public void setBid(Integer bid) {this.bid = bid;}/*** This method was generated by MyBatis Generator.* This method returns the value of the database column books.BOOKNAME** @return the value of books.BOOKNAME* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public String getBookname() {return bookname;}/*** This method was generated by MyBatis Generator.* This method sets the value of the database column books.BOOKNAME** @param bookname the value for books.BOOKNAME* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public void setBookname(String bookname) {this.bookname = bookname == null ? null : bookname.trim();}/*** This method was generated by MyBatis Generator.* This method returns the value of the database column books.B_PRICE** @return the value of books.B_PRICE* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public Double getbPrice() {return bPrice;}/*** This method was generated by MyBatis Generator.* This method sets the value of the database column books.B_PRICE** @param bPrice the value for books.B_PRICE* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public void setbPrice(Double bPrice) {this.bPrice = bPrice;}/*** This method was generated by MyBatis Generator.* This method returns the value of the database column books.IMAGE** @return the value of books.IMAGE* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public String getImage() {return image;}/*** This method was generated by MyBatis Generator.* This method sets the value of the database column books.IMAGE** @param image the value for books.IMAGE* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public void setImage(String image) {this.image = image == null ? null : image.trim();}/*** This method was generated by MyBatis Generator.* This method returns the value of the database column books.STOCK** @return the value of books.STOCK* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public Integer getStock() {return stock;}/*** This method was generated by MyBatis Generator.* This method sets the value of the database column books.STOCK** @param stock the value for books.STOCK* @mbggenerated Fri Feb 02 21:32:15 CST 2018*/public void setStock(Integer stock) {this.stock = stock;}public Book(Integer bid, String bookname, Double bPrice, String image, Integer stock) {this.bid = bid;this.bookname = bookname;this.bPrice = bPrice;this.image = image;this.stock = stock;}public Book() {} }

連接數據庫util

package util;import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Properties;/*** Created by Administrator on 2018/1/7.*/ public class DBUtil {private static String driverClassName;private static String url;private static String username;private static String password;static {//為以上參數賦值try {InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("config.properties");Properties props = new Properties();props.load(in);driverClassName = props.getProperty("driverClassName");url = props.getProperty("url");username = props.getProperty("username");password = props.getProperty("password");Class.forName(driverClassName);} catch (Exception e) {throw new RuntimeException(e);}}public static Connection getConnection() throws Exception {return DriverManager.getConnection(url, username, password);}//釋放資源public static void release(ResultSet rs, Statement stmt, Connection conn) {if (rs != null) {try {rs.close();} catch (Exception e) {e.printStackTrace();}rs = null;}if (stmt != null) {try {stmt.close();} catch (Exception e) {e.printStackTrace();}stmt = null;}if (conn != null) {try {conn.close();} catch (Exception e) {e.printStackTrace();}conn = null;}}}

config.properties數據庫信息

driverClassName:com.mysql.jdbc.Driver url:jdbc:mysql://localhost:3306/bookshop username=root password=root

  

接著是三個jsp

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%
String path = request.getContextPath();
request.setAttribute("path", path);
String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<html>
<head>
<title>Title</title>

<script type="text/javascript" src="${path}/js/jquery.min.js"></script>
</head>
<body>
<form id="form1" method="post" action="">
bookId:<input id="bid" type="text"/>
<input οnclick="queryById()" type='button' value="查詢"/>
<a href="javascrip:void(0)" οnclick="window.open('${path}/jsp/add.jsp?','height=400, width=300')"
>添加</a>
</form>
<table border="1">
<tr id="tId">
<td>bookId</td>
<td>書名</td>
<td>圖片</td>
<td>價格</td>
<td>庫存</td>
<td>編輯</td>
</tr>

<c:forEach items="${list}" var="book">

<tr id="bookId">
<td>${book.bid}</td>
<td>${book.bookname}</td>

<td><img src="${book.image}" alt="${book.bookname}"/></td>
<td>${book.bPrice}</td>

<td>${book.stock}</td>
<td>
<a href="javascrip:void(0)"
οnclick="window.open('${path}/jsp/update.jsp?bid='+${book.bid},'','height=400, width=300')">修改</a>

<%--<a href="${path}/jsp/update.jsp" target="_blank" οnclick="update(${book.bid})"></a>--%>
<a href="javascript:void(0)" οnclick="del(${book.bid})">刪除</a>

</td>
</tr>
</c:forEach>

</table>
</body>
<script type="text/javascript">
function queryById() {
var bid = $('#bid').val();

$("#form1").attr("action", "/BookController?bid=" + bid + "&flag=1");

//$("#form1").action="XXX"; 這種寫法是不起作用的!
$("#form1").submit();
}
function del(bid) {

$("#form1").attr("action", "/BookController?bid=" + bid + "&flag=2");
$("#form1").submit();

}

</script>
</html> ?

add.jsp

<%--Created by IntelliJ IDEA.User: AdministratorDate: 2018/2/3Time: 16:51To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title><script type="text/javascript" src="${path}/js/jquery.min.js"></script> </head> <body><form id="form3" method="post" action=""><table><%String bid = request.getParameter("bid");%><tr><td> bookId:<input id="bid" type="text"/></td></tr><tr><td> 書名:<input id="bname" type="text"/></td></tr><tr><td> 圖片:<input id="image" type="text"/></td></tr><tr><td>價格:<input id="bPrice" type="text"/></td></tr><tr><td>庫存:<input id="stock" type="text"/></td></tr></table><input onclick="window.close();" type='button' value="取消"/><input onclick="add()" type='button' value="確定"/></form> </body> <script><%request.setCharacterEncoding("utf-8");%>function add() {var bid = $('#bid').val();var bname = $('#bname').val();var image = $('#image').val();var bPrice = $('#bPrice').val();var stock = $('#stock').val();$("#form3").attr("action", "/BookController?bid=" + bid + "&bPrice=" + bPrice + "&bname=" + bname + "&image=" + image + "&stock=" + stock + "&flag=4");$("#form3").submit();}</script> </html>

update.jsp

<%--Created by IntelliJ IDEA.User: AdministratorDate: 2018/2/3Time: 16:59To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title><script type="text/javascript" src="${path}/js/jquery.min.js"></script> </head> <body><form id="form2" method="post" action=""><table><%String bid = request.getParameter("bid");%><tr><td> bookId:<input id="bid" type="text" value="<%=bid%>" readonly="true"/></td></tr><tr><td>價格:<input id="bPrice" type="text"/></td></tr><tr><td>庫存:<input id="stock" type="text"/></td></tr></table><input onclick="window.close();" type='button' value="取消"/><input onclick="update(<%=bid%>)" type='button' value="確定"/></form> </body> <script><%request.setCharacterEncoding("utf-8");%>function update(bid) {var bPrice = $('#bPrice').val();var stock = $('#stock').val();$("#form2").attr("action", "/BookController?bid=" + bid + "&bPrice=" + bPrice + "&stock=" + stock + "&flag=3");$("#form2").submit();} </script> </html>

pom.xml

<?xml version="1.0" encoding="UTF-8"?> <!--Licensed to the Apache Software Foundation (ASF) under oneor more contributor license agreements. See the NOTICE filedistributed with this work for additional informationregarding copyright ownership. The ASF licenses this fileto you under the Apache License, Version 2.0 (the"License"); you may not use this file except in compliancewith the License. You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing,software distributed under the License is distributed on an"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANYKIND, either express or implied. See the License for thespecific language governing permissions and limitationsunder the License. --> <!-- $Id: pom.xml 642118 2008-03-28 08:04:16Z reinhard $ --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><packaging>war</packaging><name>Test1</name><groupId>com.cyf</groupId><artifactId>Test1</artifactId><version>1.0-SNAPSHOT</version><dependencies><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency><dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.1.2</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.0.8</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>RELEASE</version></dependency><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.3</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version></dependency><dependency><groupId>net.sf.ezmorph</groupId><artifactId>ezmorph</artifactId><version>1.0.6</version></dependency><dependency><groupId>net.sf.json-lib</groupId><artifactId>json-lib</artifactId><version>2.2.3</version><classifier>jdk15</classifier><!-- 指定jdk版本 --></dependency><!-- Json依賴架包下載 --></dependencies><build><plugins><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.2</version></plugin></plugins></build></project>

sql語句

/* Navicat MySQL Data TransferSource Server : test Source Server Version : 50717 Source Host : localhost:3306 Source Database : bookshopTarget Server Type : MYSQL Target Server Version : 50717 File Encoding : 65001Date: 2018-02-03 19:12:29 */SET FOREIGN_KEY_CHECKS=0;-- ---------------------------- -- Table structure for `books` -- ---------------------------- DROP TABLE IF EXISTS `books`; CREATE TABLE `books` (`BID` int(11) NOT NULL,`BOOKNAME` varchar(100) NOT NULL,`B_PRICE` double NOT NULL,`IMAGE` varchar(200) NOT NULL,`STOCK` int(11) NOT NULL,PRIMARY KEY (`BID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ---------------------------- -- Records of books -- ---------------------------- INSERT INTO `books` VALUES ('2', 'haha', '22', 'images/book/book_09.gif', '100'); INSERT INTO `books` VALUES ('3', '哼哼', '22', 'images/book/book_06.gif', '333'); INSERT INTO `books` VALUES ('30', '錢鐘書集', '300', 'images/book/book_04.gif', '333'); INSERT INTO `books` VALUES ('32', '無聊齋', '20', 'images/book/book_06.gif', '900'); INSERT INTO `books` VALUES ('34', '李戡戡亂記', '22', 'images/book/book_08.gif', '999'); INSERT INTO `books` VALUES ('35', '生生世世未了緣', '17.5', 'images/book/book_09.gif', '999'); INSERT INTO `books` VALUES ('36', '一生有多少愛', '17.5', 'images/book/book_10.gif', '999');

?

訪問地址

http://localhost:8080/jsp/index.jsp

?

注意:由于只是練習一下,校驗什么的都沒做,各種可能出現的異常也沒仔細處理,參考的同學勿噴

轉載于:https://www.cnblogs.com/feifeicui/p/8403346.html

總結

以上是生活随笔為你收集整理的jsp+servlet+mysql增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。