算是具体例子的模板吧,功能还没全部完成,算是一个记录
goods管理
与数据库相连--Dbutil.java
package Good.Util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Dbutil {
private static String className="com.mysql.jdbc.Driver";
private static String url="jdbc:mysql://localhost:3306/eshop";
private static String user="root";
private static String password="";
static {
// (1)加载驱动:Class.forName(“”);
try {
Class.forName(className);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
// (2)获得连接驱动Connection
Connection connection = null;
try {
connection = DriverManager.getConnection(url, user, password);
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
/**
* 关闭资源
*
* @param connection
* @param statement
* @param resultSet
*/
public static void close(Connection connection, Statement statement, ResultSet resultSet) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 关闭资源
*
* @param connection
* @param statement
*/
public static void close(Connection connection, Statement statement) {
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
package Good.bean;
public class Good {
private int id;
private String name;
private int number;
private double price;
private String depict;
public Good() {
}
public Good(int id, String name, int number, double price, String depict) {
super();
this.id = id;
this.name = name;
this.number = number;
this.price = price;
this.depict = depict;
}
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 int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getDepict() {
return depict;
}
public void setDepict(String depict) {
this.depict = depict;
}
@Override
public String toString() {
return "Good [id=" + id + ", name=" + name + ", number=" + number + ", price=" + price + ", depict=" + depict
+ "]";
}
}
写Dao层--GoodDao.java
package Good.Dao;
import Good.bean.Good;
import jdk.nashorn.internal.ir.RuntimeNode.Request;
import Good.Util.Dbutil;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import com.sun.xml.internal.ws.api.config.management.policy.ManagementAssertion.Setting;
public class GoodDao {
public static List list() {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
List list = new ArrayList<>();
try {
connection = Dbutil.getConnection();
//3、写sql语句
String sql = "select * from goods";
//4、创建Statement(可以理解为一艘船,发送sql语句到服务器,如果是
statement = connection.createStatement();
//查询类的将结果集返回给浏览器,更新类返回的是影响的行数)
//5、执行sql语句
// 更新类:delete/update/insert executeUpdate() 返回的是影响的行数
// 查询类:select executeQuery() 返回的是结果集:ResultSet
resultSet = statement.executeQuery(sql);
while(resultSet.next()) {//遍历一行
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int number = resultSet.getInt("number");
double price = resultSet.getDouble("price");
String depict = resultSet.getString("depict");
Good goods = new Good(id, name, number, price, depict);
list.add(goods);
}
for (Good goods : list) {
System.out.println(goods);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Dbutil.close(connection, statement, resultSet);
}
return list;
}
public static void deleteById(String id) {
Connection connection = null;
Statement statement = null;
try {
connection = Dbutil.getConnection();
String sql = "delete from goods where id=" + id;
statement = connection.createStatement();
int count = statement.executeUpdate(sql);
System.out.println("count: " + count);
} catch (Exception e) {
e.printStackTrace();
} finally {
Dbutil.close(connection, statement);
}
}
public static Good find(String id) {
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
Good good = new Good();
try {
System.out.println(id);
connection = Dbutil.getConnection();
String sql = "select * from goods where id="+id;
statement = connection.createStatement();
resultSet = statement.executeQuery(sql);
while(resultSet.next()) {//遍历一行
good.setId(resultSet.getInt("id"));
good.setName(resultSet.getString("name"));
good.setNumber(resultSet.getInt("number"));
good.setPrice(resultSet.getDouble("price"));
good.setDepict(resultSet.getString("depict"));
System.out.println(good.getName());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Dbutil.close(connection, statement, resultSet);
}
return good;
}
public static void change(String id, String name, String number, String price, String depict) {
System.out.println("111"+number);
System.out.println("111"+depict);
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
System.out.println("修改!!");
connection = Dbutil.getConnection();
String sql = "UPDATE goods set name="+name+"number="+number+"price="+price+"depict="+depict+" where id="+id;
statement = connection.createStatement();
resultSet = statement.executeQuery(sql);
System.out.println(number);
} catch (Exception e) {
e.printStackTrace();
} finally {
Dbutil.close(connection, statement, resultSet);
}
}
}
写与前端和Dao层相连的Servlet--Goodservlet
package Good.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 Good.Dao.GoodDao;
import Good.bean.Good;
/**
* Servlet implementation class Goodservlet
*/
@WebServlet(urlPatterns={"/goods"})
public class Goodservlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Goodservlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String method = req.getParameter("method");
System.out.println("method: " + method);
if (method.equals("list")) {
list(req, resp);
} else if (method.equals("delete")) {
delete(req, resp);
} else if (method.equals("toEdit")) {
toEdit(req, resp);
}else if (method.equals("toFind")) {
toFind(req, resp);
}
}
private void toEdit(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
String id=req.getParameter("id");
String name=req.getParameter("name");
String number=req.getParameter("number");
String price=req.getParameter("price");
String depict=req.getParameter("depict");
System.out.println(depict);
GoodDao.change(id,name,number,price,depict);
list(req, resp);
}
private void toFind(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String id=req.getParameter("id");
Good good=GoodDao.find(id);
req.setAttribute("good",good);
//转发到界面展示
req.getRequestDispatcher("Change.jsp").forward(req, resp);
}
/*
* 删除
*/
private void delete(HttpServletRequest req, HttpServletResponse resp) throws IOException {
String id = req.getParameter("id");
GoodDao.deleteById(id);
resp.sendRedirect(req.getContextPath()+"/goods?method=list");
}
/*
* 展示所有列表
*/
private void list(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
List list = GoodDao.list();
req.setAttribute("list", list);
//转发到界面展示
req.getRequestDispatcher("goods_list.jsp").forward(req, resp);
}
}
前端页面1:进去的页面--NewFile.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
商品管理
显示列表的页面--goods_list.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*,Good.bean.*"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Insert title here
<%
List
list = (List)request.getAttribute("list");
%>
id |
名字 |
库存 |
价格 |
描述 |
修改 |
删除 |
<%
if(list!=null){
for(Good goods : list) {
%>
<%=goods.getId() %> |
<%=goods.getName() %> |
<%=goods.getNumber() %> |
<%=goods.getPrice() %> |
<%=goods.getDepict() %> |
修改 |
删除 |
<%
}}
%>
显示更新的页面--Change.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*,Good.bean.*"%>
Insert title here
<%
request.setCharacterEncoding("utf-8");
Good good=(Good)request.getAttribute("good");
int id=good.getId();
String name=good.getName();
int number=good.getNumber();
double price=good.getPrice();
String depict=good.getDepict();
%>