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. [SQL]用于提取组内最新数据,左连接,内连接,not exist三种方案中,到底谁最快?

    本作代码下载:https://files.cnblogs.com/files/xiandedanteng/LeftInnerNotExist20191222.rar 人们总是喜欢给出或是得到一个简单明 ...

  2. 将innodb置为只读模式

    1.关闭change bufferset global.innodb_change_buffering=0; 2.将mysql执行slow shutdown(即干净关闭)set global.inno ...

  3. Python + Selenium 自动发布文章(一):开源中国

    https://blog.csdn.net/qq_28804275/article/details/80891949 https://blog.csdn.net/qq_28804275/article ...

  4. redis报错OOM command not allowed when used memory > 'maxmemory'

    登录到redis上查询 ./redis-cli -h IP -p port -a passwd redis>info memory 查询,内存已耗尽 查询配置文件,发现之前配置最大内存的策略设置 ...

  5. Axure8.1.0.3388 授权码

    Licensee:www.jb51.net Key:5eKQiVe0zlGqMijERRp6ancI2jGAxhuejGWvk2oWClywQSB/Mrq72wYhj7D9gAKC

  6. windows下安装zk

    1 下载安装包并解压 2 修改conf下配置文件名字 zoo_sample.cfg 文件名改为 zoo.cfg 3 启动zk zKServer.cmd 4启动客户端连接测试 zKCli.cmd 127 ...

  7. php提供一维数组模糊查询

    2019年9月30日14:36:15 提供一维数组模糊查询,只支持utf-8 内部处理是Unicode 编码特殊编码格式的可能会出错 if (!function_exists('arrayFuzzyQ ...

  8. [Linux]虚拟机下安装ubuntu后root密码设置

    转自:https://blog.csdn.net/zcyhappy1314/article/details/17448223 问题描述: 在虚拟机下安装了ubuntu中要输入用户名,一般情况下大家都会 ...

  9. 【idea】全局搜索、替换只显示100条的问题

    没有修改之前 修改之后 如果用的是idea默认的快捷键,按Ctrl+Shift+A,然后输入Registry 如果是eclipse的快捷键

  10. 【springboot】【idea】实体类免写get、set等方法,使用lombok依赖和插件的@Data类注解

    需求,一个实体类,规范写法一定要对应的get.set方法,有必要还要重写toString方法.虽然可以快速生成get.set等方法,但是如果要添加或减少成员属性时就得重新生成get.set等方法. 而 ...