商品表的增加,修改,删除,订单表的增加,确认,用户表的查看,日志表的增加,查看

商品表建表语句:

 create table TEST.GOODS_TABLE
 (
   gid      NUMBER not null,
   gname    ),
   gdetails CLOB,
   gpicture ),
   gprice   NUMBER,
   gleixing NUMBER,
   gpinpai  )
 )
 tablespace USERS
   pctfree
   initrans
   maxtrans
   storage
   (
     initial 64K
     next 1M
     minextents
     maxextents unlimited
   );
 comment on column TEST.GOODS_TABLE.gid
   is '商品ID';
 comment on column TEST.GOODS_TABLE.gname
   is '商品名称';
 comment on column TEST.GOODS_TABLE.gdetails
   is '商品详情';
 comment on column TEST.GOODS_TABLE.gpicture
   is '商品图片';
 comment on column TEST.GOODS_TABLE.gprice
   is '商品价格';
 comment on column TEST.GOODS_TABLE.gleixing
   is '商品类型';
 comment on column TEST.GOODS_TABLE.gpinpai
   is '商品品牌';
 alter table TEST.GOODS_TABLE
   add constraint PK_GOODSID primary key (GID)
   using index
   tablespace USERS
   pctfree
   initrans
   maxtrans
   storage
   (
     initial 64K
     next 1M
     minextents
     maxextents unlimited
   );

订单表建表语句:

 create table TEST.SHOPORDER
 (
   scid    ),
   scuser  ),
   scgid   ),
   scnum   NUMBER,
   scmoney NUMBER,
   sctime  ),
   sczt    )
 )
 tablespace SYSTEM
   pctfree
   pctused
   initrans
   maxtrans
   storage
   (
     initial 64K
     next 1M
     minextents
     maxextents unlimited
   );
 comment on column TEST.SHOPORDER.scid
   is '订单号';
 comment on column TEST.SHOPORDER.scuser
   is '用户名';
 comment on column TEST.SHOPORDER.scgid
   is '商品ID';
 comment on column TEST.SHOPORDER.scnum
   is '商品数量';
 comment on column TEST.SHOPORDER.scmoney
   is '商品总价';
 comment on column TEST.SHOPORDER.sctime
   is '交易时间';
 comment on column TEST.SHOPORDER.sczt
   is '订单状态';

用户表建表语句:

 create table TEST.USER_TABLE
 (
   userid    NUMBER not null,
   uname     ),
   upassword ),
   unickname ),
   uemail    ),
   utime     )
 )
 tablespace USERS
   pctfree
   initrans
   maxtrans
   storage
   (
     initial 64K
     next 1M
     minextents
     maxextents unlimited
   );
 comment on column TEST.USER_TABLE.userid
   is '用户id';
 comment on column TEST.USER_TABLE.uname
   is '用户名';
 comment on column TEST.USER_TABLE.upassword
   is '用户密码';
 comment on column TEST.USER_TABLE.unickname
   is '用户昵称';
 comment on column TEST.USER_TABLE.uemail
   is '用户邮箱';
 comment on column TEST.USER_TABLE.utime
   is '注册时间';

日志表建表语句:

 create table TEST.SHOPLOG
 (
   pname   ),
   pugroup ),
   puptime ),
   pip     ),
   plog    )
 )
 tablespace SYSTEM
   pctfree
   pctused
   initrans
   maxtrans
   storage
   (
     initial 64K
     next 1M
     minextents
     maxextents unlimited
   );
 comment on column TEST.SHOPLOG.pname
   is '用户名';
 comment on column TEST.SHOPLOG.pugroup
   is '用户组';
 comment on column TEST.SHOPLOG.puptime
   is '登陆时间';
 comment on column TEST.SHOPLOG.pip
   is 'IP';
 comment on column TEST.SHOPLOG.plog
   is '操作';

数据库链接驱动类:

 package com.hanqi.util;

 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;

 /**
  * 数据库驱动连接类
  * @author ZBK
  */
 public class DBHelper {
     /**
      * 数据库用户名
      */
     public static final String USERNAME = "test";
     /**
      * 数据库密码
      */
     public static final String PASSWORD = "test";
     /**
      * 数据库驱动类
      */
     public static final String DRIVER = "oracle.jdbc.OracleDriver";
     /**
      * 数据库地址URL
      */
     public static final String URL = "jdbc:oracle:thin:@localhost:1521:xe";

     /**
      * 获取数据库连接
      * @return
      */
     public static Connection getConnection() {
         Connection conn = null;
         try {
             Class.forName(DRIVER);
             conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
         } catch (ClassNotFoundException e) {
             e.printStackTrace();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return conn;
     }

     /**
      * 释放资源
      * @param conn 数据库连接对象
      * @param sm Statement对象
      * @param rs ResultSet结果集对象
      */
     public static void destroy(Connection conn, Statement sm, ResultSet rs) {
         if (conn != null) {
             try {
                 conn.close();
             } catch (SQLException e) {
                 e.printStackTrace();
             }
             conn = null;
         }
         if (sm != null) {
             try {
                 sm.close();
             } catch (SQLException e) {
                 e.printStackTrace();
             }
             sm = null;
         }
         if (rs != null) {
             try {
                 rs.close();
             } catch (SQLException e) {
                 e.printStackTrace();
             }
             rs = null;
         }
     }

     /**
      * 验证前台传入的参数是否为空
      * @param args
      * @return
      */
     public static boolean checkParam(String... args) {
         for (String s : args) {
             if (s == null || s.trim().length() < 1) {
                 return false;
             }
         }
         return true;
     }
 }

数据库操作方法类:

 package com.hanqi.dal;

 import java.sql.Connection;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;

 import com.hanqi.model.Goods;
 import com.hanqi.model.Log;
 import com.hanqi.model.Order;
 import com.hanqi.model.TradingStatusFile;
 import com.hanqi.model.User;
 import com.hanqi.util.DBHelper;

 public class MethodDal {
     private Connection conn;
     private PreparedStatement ps;
     private ResultSet rs;

     private static int scnum=1000;
     //初始化链接
     public void init(String sql) {
         conn = DBHelper.getConnection();
         try {
             ps = conn.prepareStatement(sql);
         } catch (SQLException e) {
             e.printStackTrace();
         }
     }
     //释放资源
     public void close(){
         DBHelper.destroy(conn, ps, rs);
     }
     //判断传入的参数有没有空的方法,只要有空的就返回false
     public boolean checkParam(String... args){//这样传参数代表参数个数不确定,传几个都可以
         for(String s : args){
             if("".equals(s)||s==null){
                 return false;
             }
         }
         return true;
     }
     /**
      * 返回所有商品
      * @return
      */
     public List<Goods> getAllGoods(){
         String sql = "select * from GOODS_TABLE g";
         init(sql);
         List<Goods> list = new ArrayList<Goods>();

         try {
             rs = ps.executeQuery();
             while (rs.next()) {
                 Goods good=new Goods(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getInt(5),rs.getInt(6),rs.getString(7));
                 list.add(good);
             }
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return list;
     }
     /**
      * 增加一条商品信息
      * @param g
      * @return
      */
     public int insertGoods(Goods g) {
         String sql = "insert into GOODS_TABLE values(tablexulie.nextval,?,?,?,?,?,?)";

         init(sql);
         int a = -1;
         try {
             ps.setString(1, g.getGname());
             ps.setString(2, g.getGdetails());
             ps.setString(3, g.getGpicture());
             ps.setInt(4, g.getGprice());
             ps.setInt(5, g.getGleixing());
             ps.setString(6, g.getGpinpai());
             a = ps.executeUpdate();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return a;
     }
     /**
      * 删除商品信息
      */
     public int deleteGoods(int gid) {
         String sql = "delete from GOODS_TABLE g where g.gid=? ";

         init(sql);
         int a = -1;
         try {
             ps.setInt(1, gid);
             a = ps.executeUpdate();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return a;
     }
     //修改商品信息
     public int UpdateGood(Goods g) {
         String sql = "update GOODS_TABLE g set g.gname=?,g.gdetails=?,g.gpicture=?,g.gprice=?,g.gleixing=?,g.gpinpai=? where g.gid=?";
         init(sql);
         int a = -1;
         try {
             ps.setString(1, g.getGname());
             ps.setString(2, g.getGdetails());
             ps.setString(3, g.getGpicture());
             ps.setInt(4, g.getGprice());
             ps.setInt(5, g.getGleixing());
             ps.setString(6, g.getGpinpai());
             ps.setInt(7, g.getGid());
             a = ps.executeUpdate();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return a;
     }
     public int UpdateGoodNP(Goods g) {
         String sql = "update GOODS_TABLE g set g.gname=?,g.gdetails=?,g.gprice=?,g.gleixing=?,g.gpinpai=? where g.gid=?";
         init(sql);
         int a = -1;
         try {
             ps.setString(1, g.getGname());
             ps.setString(2, g.getGdetails());
             ps.setInt(3, g.getGprice());
             ps.setInt(4, g.getGleixing());
             ps.setString(5, g.getGpinpai());
             ps.setInt(6, g.getGid());

             a = ps.executeUpdate();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return a;
     }

     //获取数量
     public int getGoodsSum(String scuser) {
         String sql = "select s.scnum from SHOPPINGCAR s  where s.scuser=?";
         int sum=0;
         init(sql);

         try {
             ps.setString(1, scuser);
             rs = ps.executeQuery();

             while (rs.next()) {
                 sum+=rs.getInt("scnum");
             }
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return sum;
     }

     public Goods getGoods(String gid) {
         String sql = "select * from GOODS_TABLE g where g.gid="+gid;
         init(sql);
         Goods good=new Goods();
         try {
             rs = ps.executeQuery();
             while (rs.next()) {
                 good=new Goods(rs.getInt(1),rs.getString(2),rs.getString(3),rs.getString(4),rs.getInt(5),rs.getInt(6),rs.getString(7));
             }
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return good;
     }
     /**
      * 增加日志记录
      * @param g
      * @return
      */
     public int insertLog(Log l) {
         String sql = "insert into ShopLog values(?,?,?,?,?)";

         init(sql);
         int a = -1;
         try {
             ps.setString(1, l.getPname());
             ps.setString(2, l.getPugroup());
             ps.setString(3, l.getPuptime());
             ps.setString(4, l.getPip());
             ps.setString(5, l.getPlog());
             a = ps.executeUpdate();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return a;
     }
     /**
      * 返回所有日志
      * @return
      */
     public List<Log> getAllLogs(){
         String sql = "select * from ShopLog s order by s.puptime desc";
         init(sql);
         List<Log> list = new ArrayList<Log>();

         try {
             rs = ps.executeQuery();
             while (rs.next()) {
                 Log l=new Log();
                 l.setPname(rs.getString(1));
                 l.setPugroup(rs.getString(2));
                 l.setPuptime(rs.getString(3));
                 l.setPip(rs.getString(4));
                 l.setPlog(rs.getString(5));

                 list.add(l);
             }
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return list;
     }
     /**
      * 返回购物车数据
      * @return
      */
     public List<Order> getAllOrder(String username){
         String sql = "select t.*  from SHOPPINGCAR t where t.scuser=?";
         init(sql);
         List<Order> list = new ArrayList<Order>();

         try {
             ps.setString(1, username);
             rs = ps.executeQuery();
             while (rs.next()) {
                 Order l=new Order();

                 l.setScid(rs.getString(1));
                 l.setScuser(rs.getString(4));
                 l.setScgid(rs.getString(5));
                 l.setScnum(rs.getInt(3));
                 l.setSctime((new Date()).toLocaleString());

                 list.add(l);
             }
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return list;
     }
     /**
      * 删除购物车已经提交的信息
      */
     public int deleteSCar(String username) {
         String sql = "delete from SHOPPINGCAR g where g.scuser=? ";

         init(sql);
         int a = -1;
         try {
             ps.setString(1, username);
             a = ps.executeUpdate();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return a;
     }
     /**
      * 增加订单记录
      * @param g
      * @return
      */
     public int insertOrder(Order l) {
         String sql = "insert into SHOPORDER values(?,?,?,?,?,?,?)";

         init(sql);
         int a = -1;
         try {
             ps.setString(1, l.getScid());
             ps.setString(2, l.getScuser());
             ps.setString(3, l.getScgid());
             ps.setInt(4, l.getScnum());
             ps.setInt(5, l.getScmoney());
             ps.setString(6, l.getSctime());
             ps.setString(7, l.getSczt());
             a = ps.executeUpdate();
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return a;
     }
     /**
      * 返回未确认订单
      * @return
      */
     public List<Order> getAllOrder(){
         String sql = "select t.* from SHOPORDER t  where t.sczt='待确认' order by t.sctime desc";
         init(sql);
         List<Order> list = new ArrayList<Order>();

         try {
             rs = ps.executeQuery();
             while (rs.next()) {
                 Order l=new Order();
                 l.setScid(rs.getString(1));
                 l.setScuser(rs.getString(2));
                 l.setScgid(rs.getString(3));
                 l.setScnum(rs.getInt(4));
                 l.setScmoney(rs.getInt(5));
                 l.setSctime(rs.getString(6));
                 l.setSczt(rs.getString(7));
                 list.add(l);
             }
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return list;
     }
     /**
      * 返回确认订单
      * @return
      */
     public List<Order> getAllOrder1(){
         String sql = "select t.* from SHOPORDER t  where t.sczt='已确认' order by t.sctime desc";
         init(sql);
         List<Order> list = new ArrayList<Order>();

         try {
             rs = ps.executeQuery();
             while (rs.next()) {
                 Order l=new Order();
                 l.setScid(rs.getString(1));
                 l.setScuser(rs.getString(2));
                 l.setScgid(rs.getString(3));
                 l.setScnum(rs.getInt(4));
                 l.setScmoney(rs.getInt(5));
                 l.setSctime(rs.getString(6));
                 l.setSczt(rs.getString(7));
                 list.add(l);
             }
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return list;
     }
     /**
      * 修改订单状态
      * @return
      */
     public void UpdateOrder(String sctime){
         String sql = "update SHOPORDER s set s.sczt='已确认' where s.sctime=?";
         init(sql);
         try {
             ps.setString(1, sctime);
             ps.executeQuery();

         } catch (SQLException e) {
             e.printStackTrace();
         }
     }
     /**
      * 返回用户信息
      * @return
      */
     public List<User> getAllUsers(){
         String sql = "select t.*, t.rowid from USER_TABLE t order by t.utime desc";
         init(sql);
         List<User> list = new ArrayList<User>();

         try {
             rs = ps.executeQuery();
             while (rs.next()) {
                 User l=new User();

                 l.setUserid(rs.getInt(1));
                 l.setUname(rs.getString(2));
                 l.setUpassword(rs.getString(3));
                 l.setUnickname(rs.getString(4));
                 l.setUemail(rs.getString(5));
                 l.setUtime(rs.getString(6));
                 list.add(l);
             }
         } catch (SQLException e) {
             e.printStackTrace();
         }
         return list;
     }

 }

商城项目整理(三)JDBC增删改查的更多相关文章

  1. JDBC增删改查,PreparedStatement和Statement的区别

    此篇是在上一篇的基础上使用PreparedStatement对象来实现JDBC增删改查的 具体工具类JDBCTools和实现类和配置文件在上一篇Statement对象实现的时候有写. 上一篇地址htt ...

  2. ssm项目框架搭建(增删改查案例实现)——(SpringMVC+Spring+mybatis项目整合)

    Spring 常用注解 内容 一.基本概念 1. Spring 2. SpringMVC 3. MyBatis 二.开发环境搭建 1. 创建 maven 项目 2. SSM整合 2.1 项目结构图 2 ...

  3. JDBC增删改查和查唯一的完整代码

    第一部分代码(实体类) package com.wf.entity; public class Hehe{ private int hehe_id; private String hehe_name; ...

  4. jdbc增删改查进行封装

    jdbc封装 1 dao (代码分层) com.aaa.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据 com.aaa.servlet 存放servle ...

  5. 基于 abp vNext 和 .NET Core 开发博客项目 - 自定义仓储之增删改查

    上一篇文章(https://www.cnblogs.com/meowv/p/12913676.html)我们用Code-First的方式创建了博客所需的实体类,生成了数据库表,完成了对EF Core的 ...

  6. Java项目——模拟电话薄联系人增删改查

    该项目模拟了电话本记录联系人的业务功能,用来练习对数据库的增删改查等操作. 菜单类:Menu -- 用来封装主菜单和个选项的子菜单 Person类: Person--联系人的实体类 TelNoteRe ...

  7. JDBC增删改查

    /* db.properties的配置 driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/day14 username=root ...

  8. jdbc 增删改查以及遇见的 数据库报错Can't get hostname for your address如何解决

    最近开始复习以前学过的JDBC今天肝了一晚上 来睡睡回笼觉,长话短说 我们现在开始. 我们先写一个获取数据库连接的jdbc封装类 以后可以用 如果不是maven环境的话在src文件下新建一个db.pr ...

  9. JAVA JDBC 增删改查简单例子

    1.数据库配置文件jdbc.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username= ...

  10. JavaJDBC【三、增删改查】

    获取数据库连接后,可进行增删改查操作 语句生成: Statement s = con.createStatement(sql); //生成语句 PreparedStatement ps = (Prep ...

随机推荐

  1. 关于web程序中使用KindEditor向数据库插入带有格式的数据时出现的问题

    最近做一个项目,需要对输入的文字在存入数据库之前进行文本格式编辑,于是我用到了KindEditor,当然怎么用在asp.net页面中,这里就不过多叙述了. 主要是遇到在将赋予格式的文本插入数据库时遇到 ...

  2. SQL Server 基本操作之三种增加法

    前言: 数据库操作避免不了对数据的操作,操作方法大同小异,万变不离其宗,今就写一下各种花式操作的根本增删改查四种操作,今天我们就来说一下增加操作的三种方法 正文: 增加操作是对数据库进行数据行的添加, ...

  3. css3 ajax加载进度线

    最近想了想ajax加载时的进项,便着手写了这个,我想css3的支持度已经够了 <button onclick="start()">button</button&g ...

  4. 【转载】 Java:按值传递还是按引用传递详细解说

    前天在做系统的时候被Java中参数传递问题卡了一下,回头查阅了相关的资料,对参数传递问题有了新的了解和掌握,但是有个问题感觉还是很模糊,就是Java中到底是否只存在值传递,因为在查阅资料时,经常看到有 ...

  5. MySQL错误:2003-Can't connect to MySQL server on 'localhost'(10061 "unknown error")

    今天数据库出了一点错误之后决定重装一下,结果卡在了一个问题上,连装了5遍,加上网上各种配置教程都没能结局,错误如下图所示: 最后忽然想到会不会是因为每一次卸载的时候没有彻底卸载干净,然后就彻彻底底卸载 ...

  6. selenium与表格的二三事

    今天遇到的问题是selenium与表格中行和列的问题! 我想要做的事情是统计当前的table有多少行,表格形式如下如所示: 图中所示为2行,我的定位方式是这样的 : table=driver.find ...

  7. absolute和relative元素 设置百分比宽高的差异

    一般元素在页面所占的空间包括:magin border padding content.以前一直以为子元素设置百分比宽高都是以父元素的content值为基准计算的.但是当子元素的position不同时 ...

  8. SVN如何commit(提交)项目代码

    在本地代码做出变更之后,我们就需要通过svn commit命令提交到远程服务端 工具/原料   SVN客户端 方法/步骤   选中需要更新的代码文件夹或目录,点击右键,选择"Tortoise ...

  9. C++如何返回不定长数组

    起初遇到这个问题的时候便得知无法返回,那么为了达到相同的目的,该怎么办呢? 第一个想法便是 int * void() { int * want = new int[size]; //......do ...

  10. android应用集成google登录

        集成google登录之前需要有一下三点要求,只有具备一下两点要求才能集成google登录:         1,android 运行版本4.0及更新版本         2,android 设 ...