Javaweb实现增删改查操作操作

Javaweb实现增删改查操作操作

一:准备工作
1:Idea编辑器(eclispe和myeclispe都可以,个人推荐使用idea),新建一个web项目
2:数据库mysql
3:需要提前了解的知识点
servlet
el和jstl表达式
项目的基本的框架实现(Javaweb经典的三层架构)
4:UUID自动生成id的工具
5:在idea中生成的包结构
在这里插入图片描述
二:数据库的设计和实现操作
需要在设计库中实现数据库的创建和数据表的填写
1.数据库和数据表的创建
在这里插入图片描述
在这里插入图片描述
2.向数据库中添加数据
在这里插入图片描述
3.数据库连接工具druid和dbutils
在这里插入图片描述

package cn.ujiuye.utils;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
/**
 * JDBC工具类 使用Durid连接池
 */
public class JDBCUtils {
    private static DataSource ds ;
    static {

        try {
            //1.加载配置文件
            Properties pro = new Properties();
            //使用ClassLoader加载配置文件,获取字节输入流
            InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
            pro.load(is);

            //2.初始化连接池对象
            ds = DruidDataSourceFactory.createDataSource(pro);

        } catch (IOException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 获取连接池对象
     */
    public static DataSource getDataSource(){
        return ds;
    }


    /**
     * 获取连接Connection对象
     */
    public static Connection getConnection() throws SQLException {
        return  ds.getConnection();
    }
}

三:常用工具类和架构解析
1:bootstrap是一个很强大的前端框架,集合了html,css,js的集合,让像我这样的前端菜鸡的新手能够也实现对美的页面的追求,有需要的去中文网去了解吧https://www.bootcss.com/
2:UUID是Java.utils包下提供的一个自动生成的一个工具类,能够自动生成不会重复的id,可以把它简单封装一下,后面直接调用,下面贴出封装源码

package cn.ujiuye.utils;
import java.util.UUID;

public class UUIDUtils {
	public static String getPid() {
		String str = UUID.randomUUID().toString().replace("-", "");
		return str;
	}
}

3.常用jar包分析,后期会使用到maven工程,就不用手动导入jar包了,不过作为基础还是希望大家能够用心对待基础
在这里插入图片描述
4.简单说一下三层架构
servlet和jsp主要是控制和显示,让用户能够直接看到现象
service 处理业务逻辑层,能够更好的实现其相关的业务逻辑的实现
dao 数据持久化层,主要用于和数据库进行交互,返回和传递数据
除此之外别忘了实体类Javabean的书写,本篇博客我更多的使用了接口的思想
四 简单实现一下增删改查

首先说下JavaBean的书写,尽可能的让其和数据库中的字段和前端传过来的的数据三者合一,这样才能尽可能的后期不会存在这个值那个值没有被赋值上,出现空值的现象,还有最好使用其包装类型,不会出现数据库中出现了空值而赋不上值的现象

package cn.ujiuye.domain;

import java.util.Date;

/**
 * product
 * javabean
 */
public class Product {
    private String pid;
    private String pname;
    private double market_price;
    private double shop_price;
    private Date pdate;
    private String pdesc;

    public String getPid() {
        return pid;
    }

    public void setPid(String pid) {
        this.pid = pid;
    }

    public String getPname() {
        return pname;
    }

    public void setPname(String pname) {
        this.pname = pname;
    }

    public double getMarket_price() {
        return market_price;
    }

    public void setMarket_price(double market_price) {
        this.market_price = market_price;
    }

    public double getShop_price() {
        return shop_price;
    }

    public void setShop_price(double shop_price) {
        this.shop_price = shop_price;
    }

    public Date getPdate() {
        return pdate;
    }

    public void setPdate(Date pdate) {
        this.pdate = pdate;
    }

    public String getPdesc() {
        return pdesc;
    }

    public void setPdesc(String pdesc) {
        this.pdesc = pdesc;
    }

    @Override
    public String toString() {
        return "Product{" +
                "pid='" + pid + '\'' +
                ", pname='" + pname + '\'' +
                ", market_price=" + market_price +
                ", shop_price=" + shop_price +
                ", pdate=" + pdate +
                ", pdesc='" + pdesc + '\'' +
                '}';
    }
}

增加的servlet

package cn.ujiuye.web.servlet;

import cn.ujiuye.domain.Product;
import cn.ujiuye.service.ProductService;
import cn.ujiuye.service.impl.ProductServiceImpl;
import cn.ujiuye.utils.UUIDUtils;
import org.apache.commons.beanutils.BeanUtils;

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 java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.

  • 59
    点赞
  • 337
    收藏
    觉得还不错? 一键收藏
  • 38
    评论
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值