public class ProductDao {
// 查询所有商品 // BeanListHandler查询所有商品
public List<Product> getAll() throws SQLException {
QueryRunner qr = new QueryRunner(MyDBUtils.getDataSource());
String sql = "select * from product";
List<Product> arr = qr.query(sql, new BeanListHandler<Product>(Product.class));
return arr;
} // 添加商品
public void add(Product product) throws SQLException {
QueryRunner qr = new QueryRunner(MyDBUtils.getDataSource());
String sql = "insert into product(pid,pname,market_price,shop_price,pdate,pdesc,is_hot,cid) values(?,?,?,?,?,?,?,?)";
Object[] obj = { product.getPid(), product.getPname(), product.getMarket_price(), product.getShop_price(),
product.getPdate(), product.getPdesc(), product.getIs_hot(), product.getCid() };
// 执行sql
qr.update(sql, obj); } // 根据pid查询商品--就一条记录--用BeanHandler
public Product getProductById(String pid) throws SQLException {
QueryRunner qr = new QueryRunner(MyDBUtils.getDataSource());
String sql = "select * from product where pid = ?";
Product product = qr.query(sql, new BeanHandler<Product>(Product.class), pid);
return product;
}
//根据pid修改商品
public void edit(Product product) throws SQLException{
QueryRunner qr = new QueryRunner(MyDBUtils.getDataSource());
String sql ="update product set pname = ?,market_price = ?,shop_price =?,pdesc =?,is_hot=?,cid=? where pid =?";
Object[] obj = { product.getPname(), product.getMarket_price(), product.getShop_price(), product.getPdesc(), product.getIs_hot(), product.getCid(),product.getPid()};
qr.update(sql,obj);
}
//根据pid删除商品
public void delete(String pid) throws SQLException{
QueryRunner qr = new QueryRunner(MyDBUtils.getDataSource());
String sql = "delete from product where pid =?";
qr.update(sql,pid);
} }
package com.oracle.service;

import java.sql.SQLException;
import java.util.List; import com.oracle.dao.ProductDao;
import com.oracle.domain.Product; public class ProductService {
private ProductDao productDao = new ProductDao();
//查询所有商品
public List<Product> getAll(){
List<Product> arr = null;
try {
arr=productDao.getAll();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return arr; }
//添加商品
public void add(Product product){
try {
productDao.add(product);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//根据pid查询商品
public Product getProductById(String pid){
Product product = null;
try {
product =productDao.getProductById(pid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return product;
}
//根据pid修改商品
public void edit(Product product){
try {
productDao.edit(product);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//根据pid删除商品
public void delete(String pid){
try {
productDao.delete(pid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
package com.oracle.web;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.UUID; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.BeanUtils; import com.oracle.domain.Product;
import com.oracle.service.ProductService;
//增加
public class AddProductServlet extends HttpServlet {
private ProductService productService =new ProductService();
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//解决乱码
request.setCharacterEncoding("UTF-8");
//获取所有参数的map
Map<String,String[]> map = request.getParameterMap();
//创建product对象
Product product = new Product();
//用BeanUtils进行封装
try {
BeanUtils.populate(product, map);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//设置pid
//uuid是个类,--返回36位的不重复的字母加数字--转成字符串
product.setPid(UUID.randomUUID().toString());
//设置pdate
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String d = sdf.format(date);
product.setPdate(d);
//调用Service方法
productService.add(product);
response.sendRedirect(request.getContextPath()+"/AdminProductListServlet");
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.oracle.web;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.oracle.service.ProductService;
//删除
public class DeleteProductServlet extends HttpServlet {
private ProductService productService=new ProductService();
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获取pid
String pid =request.getParameter("pid");
//调用service方法
productService.delete(pid);
//重定向
response.sendRedirect(request.getContextPath() + "/AdminProductListServlet");
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.oracle.web;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.BeanUtils; import com.oracle.domain.Product;
import com.oracle.service.ProductService;
//修改
public class AdiminEditProductServlet extends HttpServlet {
private ProductService productService = new ProductService();
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//解决乱码
request.setCharacterEncoding("UTf-8");
//获取所有参数MAP
Map<String,String[]> map = request.getParameterMap();
//创建product对象
Product product = new Product();
//用BeanUtils进行封装
try {
BeanUtils.populate(product, map);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//调用service方法
productService.edit(product);
//这时候已经修改完了,不需要调数据了,只是去页面上查看下数据修改完后的样子
//重定向
response.sendRedirect(request.getContextPath()+"/AdminProductListServlet");
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
package com.oracle.web;

import java.io.IOException;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.oracle.domain.Product;
import com.oracle.service.ProductService;
//查
public class AdminProductListServlet extends HttpServlet {
// 后台的商品列表页面
private ProductService productService = new ProductService(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取商品列表
List<Product> list = productService.getAll();
// 向域中存list
request.setAttribute("ProductList", list);
// 请求转发
request.getRequestDispatcher("/admin/product/list.jsp").forward(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}

JAVA项目之增删改查的更多相关文章

  1. java DMO及增删改查代码的自动生成

    在web开发过程中,尤其是后台管理系统的开发中,少不了增删改成的基础操作,原来我自己的做法是一份一份的拷贝粘贴,然后修改其中的不同,然而这样既枯燥无味又浪费了大量的时间,所以根据自己项目结构的特点写了 ...

  2. 【简易版】Java ArrayList(增删改查)

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: (1)动态的增加和减少元素 (2)实现了ICollectio ...

  3. 百度鹰眼Java接口调用增删改查实例

    因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...

  4. Java学生信息增删改查(并没用数据库)

    一个泛型的应用,Java版本增删改查,写的简陋,望批评指正 2016-07-02 很久前写的一个程序了.拿出来存一下,不是为了展示啥,自己用的时候还可以看看.写的很粗糙. import java.io ...

  5. MongoDB(二)-- Java API 实现增删改查

    一.下载jar包 http://central.maven.org/maven2/org/mongodb/mongo-java-driver/ 二.代码实现 package com.xbq.mongo ...

  6. LR接口测试---Java Vuser之增删改查

    import lrapi.lr; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

  7. MongoDB(六)java操作mongodb增删改查

    java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...

  8. Java连接数据库,增删改查

    底层代码: package com.zdsoft; import java.sql.*; /** * Created by lx on 2017/6/22. */ public class JDBCU ...

  9. 2019年11月18日 JAVA期中考试 增删改查

    一.题目 石家庄铁道大学 青年志愿者服务网(20分)   1.项目需求: 为了适应社会主义市场经济发展的需要,推动青年志愿服务体系和多层次社会保障体系的建立和完善,促进青年健康成长,石家庄铁道大学急需 ...

随机推荐

  1. Visionworks OpenVX

    [TOC] Visionworks OpenVX OpenVX heterogeneous computation framework Spec OpenVX 1.2源碼解析 - 目錄結構 除了官方的 ...

  2. [转]js判断数据类型的四种方法

    原文地址:https://www.cnblogs.com/crackedlove/p/10331317.html 1.typeof typeof是一个操作符,其右侧跟一个一元表达式,并返回这个表达式的 ...

  3. Java基础 awt Frame 设置窗体的背景颜色

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  4. 使用 Laravel 自带的用户系统 包括登录注册功能以及错误处理

    一.默认 Laravel 不会自动帮你装上用户系统, 二.但是我们可以从默认首页的代码中看到,登录注册按钮被隐藏了 三.需要手动输入命令进行安装 php artisan make:auth 安装完成后 ...

  5. Spring Web Flux 相关概念

    Reactive Streams.Reactor 和 Web Flux 上面介绍了反应式编程的一些概念,以及 Reactor 和 Web Flux.可能读者看到这里有些乱.这里介绍一下三者的关系.其实 ...

  6. Node.js 动态网页爬取 PhantomJS 使用入门(转)

    Node.js 动态网页爬取 PhantomJS 使用入门 原创NeverSettle101 发布于2017-03-24 09:34:45 阅读数 8309  收藏 展开 版权声明:本文为 winte ...

  7. git冲突处理-Please move or remove them before you can merge

    参考:https://www.cnblogs.com/wenlj/p/5866356.html https://my.oschina.net/lixiaoyan/blog/1821947 #### 将 ...

  8. vue 动态路由跳转在新窗口打开

    let routeUrl =this.$router.resolve({path: '/home'}) window.open(routeUrl.href, '_blank');

  9. 使用PhantomJS报warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '解决方法

    selenium已经放弃PhantomJS了,建议使用火狐或者谷歌无界面浏览器.使用无界面浏览器Selenium+Headless Firefox Selenium+Headless Firefox和 ...

  10. mysql中字符串的隐藏字符处理

    三步解决mysql字符串的隐藏字符: 1. 隐藏字符导致字符串长度边长,用mysql 自带的 Hex函数让隐藏字符显示真身, 2. 可以拿到隐藏字符的16进制码,然后用windows自带的计算器转化成 ...