版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第九章誠信數(shù)碼商城系統(tǒng) 9.1系統(tǒng)概述當今互聯(lián)網(wǎng)的高速開展,改變的不僅僅是我們的溝通方式,還有我們的生活方式。建立在互聯(lián)網(wǎng)上的電子商務網(wǎng)站正是在這樣的環(huán)境下孕育而生的。電子商務是在互聯(lián)網(wǎng)的環(huán)境下,基于C/S瀏覽器、效勞器的應用方式,實現(xiàn)用戶的網(wǎng)上購物、網(wǎng)上交易和在線支付的新型的商業(yè)模式。誠信數(shù)碼商城是基于C/S結構開發(fā)的,符合Internet特點的新型網(wǎng)絡商城。該商城主要經(jīng)營各類 、MP3/MP4、數(shù)碼相機、移動存儲和數(shù)碼配件。顧客能夠方便的進行網(wǎng)上交易和了解各類產(chǎn)品信息、平安的進行網(wǎng)絡交易。9.2系統(tǒng)分析9.2.1需求分析誠信數(shù)碼商城期望提供基于因特網(wǎng)的音像產(chǎn)品交易效勞,會員可以在因特網(wǎng)上瀏
2、覽各類音像產(chǎn)品的信息,如果用戶對某個產(chǎn)品感興趣,那么可以通過注冊成為會員后訂購該商品,系統(tǒng)能夠在線生產(chǎn)相應的訂單,會員提交訂單后,可以查詢自己的訂單。誠信數(shù)碼商城的員工會根據(jù)訂單的情況給會員發(fā)貨,完成交易。通過以上分析,不難發(fā)現(xiàn)本系統(tǒng)涉及的用戶類型,主要有以下三類:普通瀏覽用戶誠信商城會員誠信商城管理員其中,需要為普通瀏覽用戶實現(xiàn)的功能主要有:查看公告信息瀏覽商品信息留言及查看留言需要為誠信商城會員實現(xiàn)的功能主要有:會員注冊與系統(tǒng)登錄修改個人注冊信息購物車功能,包括添加、修改、刪除和收銀臺結賬功能。查詢個人訂單從系統(tǒng)中注銷需要為誠信商城管理員實現(xiàn)的功能主要有:商城公告信息管理,包括公告的增加、
3、刪除、修改操作。商城商品信息管理,包括商品的增加、刪除、修改操作。處理會員的訂單,包括訂單的查看和執(zhí)行。留言管理,包括留言的回復和刪除。商品類別的管理,包括商品類別的增加、刪除、修改操作。會員管理,包括會員信息的查看、會員的凍結和解凍操作。管理員的管理,包括管理員的查看、創(chuàng)立、刪除、密碼修改等操作。9.2.2業(yè)務實體說明通過以上需求分析,誠信商城系統(tǒng)中的業(yè)務實體主要包括公告(notice)、商品類別type、商品goods、訂單order、訂單詳情order_detail、留言message、會員 member、管理員admin,下面詳細介紹一下這些業(yè)務實體:公告(notice):代表一個公告
4、實體,主要屬性包括公告標題、公告內(nèi)容、公告添加時間等商品類別type:代表一個商品類別實體,主要屬性包括類別ID,類別名稱。商品goods:代表一個商品實體,主要屬性包括商品類別、商品名稱、商品介紹、商品品牌、商品圖片、商品市場價、商品會員價、是否新品、是否特價、瀏覽次數(shù)、商品添加時間等。訂單order:代表一個訂單實體,主要屬性包括訂單號、產(chǎn)品數(shù)、用戶名、真實姓名、聯(lián)系 、 、 、付款方式、運送方式、折扣、訂貨日期、是否執(zhí)行和備注等。訂單詳情(order_detail):代表一個訂單詳情實體,主要屬性包括訂單號、商品ID、價格和數(shù)量等。留言message:代表一個留言實體,主要屬性包括留言人
5、姓名、留言標題、留言內(nèi)容、留言時間、留言回復等。會員 member:代表一個會員實體,主要屬性包括用戶名,真實姓名、 、郵政編碼、證件號、證件類型、聯(lián)系 、email、會員等級、會員積分等。管理員admin:代表一個管理員實體,主要屬性包括管理員名稱、管理員密碼。其中一個管理員可以下多個訂單,一個訂單也可以包括假設干商品。管理員那么可以對會員會員、訂單、商品、留言、公告等進行各項維護工作。9.3總體設計9.3.1工程規(guī)劃誠信數(shù)碼商城是基于C/S結構開發(fā)的網(wǎng)站工程,整站采用JSP+Serverlet+Javabean+數(shù)據(jù)庫的三層架構設計,由前臺商品展示局部和后臺管理局部兩局部組成。前臺商品展示
6、局部前臺商品展示局部包括:商城公告、新品上架、特價促銷、熱賣排行、會員管理、查看訂單、購物車、商品查詢、用戶留言等。 后臺管理局部后臺管理局部包括:公告管理、商品管理、訂單管理、留言管理、類別管理、會員管理、管理員管理以及網(wǎng)站根本數(shù)據(jù)的維護。9.3.2系統(tǒng)功能結構圖系統(tǒng)架構設計系統(tǒng)總體文件架構:9.4數(shù)據(jù)庫邏輯結構設計對于一個系統(tǒng)來說,數(shù)據(jù)庫的設計是必不可少的。在節(jié)中介紹了業(yè)務實體,每個業(yè)務實體在數(shù)據(jù)庫中都有對應的數(shù)據(jù)表,所以分別需要創(chuàng)立公告(notice)表、商品類別type表、商品goods表、訂單order表、訂單詳情order_detail表、留言message表、會員 member表
7、、管理員admin表。下面分別對這些表及其創(chuàng)立進行介紹。公告(notice)表用于保存商城的公告信息字段名數(shù)據(jù)類型備注idint (4)公告ID,主鍵titlevarchar(100)公告標題contenttext()公告內(nèi)容intimedatetime公告添加時間商品類別type表用于保存商品的分類信息字段名數(shù)據(jù)類型備注typeidint (11)商品分類ID,主鍵typenamevarchar (20)商品分類名稱商品goods表用于保存商品信息字段名數(shù)據(jù)類型備注goodsidBigint(4)商品ID,主鍵typeidint (11)商品分類IDgoodsnamevarchar (100
8、)商品名稱introducetext商品簡介pricevarchar(20)商品市場價格nowpriceVarchar(20)商品誠信網(wǎng)價格pictureVarchar(100)商品圖片Intimedatetime商品添加時間newgoodsInt(4)是否新品saleInt(4)是否特價hitInt(4)瀏覽次數(shù)quantityInt(11)商品數(shù)量brandVarchar(50)商品品牌訂單order表用于保存訂單信息字段名數(shù)據(jù)類型備注orderidvarchar (50)訂單號,主鍵bnumbersmallint (2)商品數(shù)量usernamevarchar (15)用戶名truenam
9、evarchar (15)真實姓名addressvarchar(100) postcodeVarchar(10)郵政編碼telVarchar(20)聯(lián)系 payvarchar (10)付款方式carryvarchar (10)運送方式rebatevarchar (10)折扣orderdatedatetime 訂貨日期enforceint (11)是否執(zhí)行bzvarchar (20)訂單備注訂單詳情order_detail表用于保存訂單詳細信息字段名數(shù)據(jù)類型備注idbigint (8)訂單詳情ID,主鍵orderidvarchar (50)訂單號goodsidbigint (20)商品號pric
10、evarchar (20)商品價格numberint (4)商品數(shù)量goodsnamevarchar (50)商品名稱留言message表用于保存留言及回復留言的信息字段名數(shù)據(jù)類型備注idint (11)留言ID,主鍵usernamevarchar (50)留言人名稱titlevarchar (50)留言標題contenttext留言內(nèi)容intimedatetime 留言時間replytext 留言回復會員 member表用于保存會員相關信息字段名數(shù)據(jù)類型備注idint (11)會員ID,主鍵usernamevarchar (20)用戶名truenamevarchar (20)真實姓名pass
11、wordvarchar20登錄密碼addressvarchar100 postcodevarchar20郵政編碼cardnovarchar20證件號cardtypevarchar20證件類別gradeInt(4)等級amountvarchar8數(shù)量telvarchar20聯(lián)系 emailvarchar100電子郵件freezeInt(4)是否凍結管理員admin表用于保存管理員信息字段名數(shù)據(jù)類型備注idint (4)管理員ID,主鍵administratorvarchar (30)管理員名稱passwordvarchar (20)管理員密碼誠信商城系統(tǒng)采用的是mysql數(shù)據(jù)庫,開發(fā)人員可以根據(jù)
12、以上數(shù)據(jù)庫邏輯結構在mysql中直接創(chuàng)立,也可以用本書所附光盤中的shop_db.sql文件直接運行創(chuàng)立。底層編碼實現(xiàn)系統(tǒng)架構設計和數(shù)據(jù)庫完成之后,就可以開始立足實現(xiàn)系統(tǒng)各項功能模塊。系統(tǒng)開發(fā)采用多層架構模式實現(xiàn)的,即先是實現(xiàn)數(shù)據(jù)庫層,在數(shù)據(jù)庫中創(chuàng)立各物理表。其次是實現(xiàn)模型model層,主要工作是編寫各實體類和DAO類。模型層實現(xiàn)后是編寫相應業(yè)務類,實現(xiàn)業(yè)務層。最后是編寫控制層的servlet和視圖層的jsp頁面。但在這些工作完成之前,還需要完成兩項必要的任務,即:系統(tǒng)運行環(huán)境配置本系統(tǒng)運用的開發(fā)工具是MyEclipse,采用的操作系統(tǒng)是Windows XP,Web效勞器采用Tomcat 5.
13、5,開發(fā)工具包是JDK,數(shù)據(jù)庫為MySql,瀏覽器為IE7.0. 系統(tǒng)頁面的設計這局部靜態(tài)頁面工作屬于美工局部,主要是系統(tǒng)html靜態(tài)界面的設計,在些不作詳述,本書靜態(tài)頁面詳見隨書所屬光盤。 數(shù)據(jù)庫連接實用類在“誠信商城系統(tǒng)中,需要進行添加、刪除和獲取數(shù)據(jù)庫記錄集等操作,而這些操作經(jīng)常需要連接數(shù)據(jù)庫。本系統(tǒng)采用了這個類將連接數(shù)據(jù)庫操作進行了封裝,實現(xiàn)封裝數(shù)據(jù)庫連接功能代碼,保存在DBConn.java文件中。下面詳細介紹這個類。指定JavaBeanDBConn保存的包,并導入所需的類包,本例將其保存到包中,代碼如下:package com.honesty.util; /將該類保存到包中impo
14、rt java.sql.*; /導入提供根本的數(shù)據(jù)庫編程效勞的包在構造方法DBConn中定義該類所需要的變量。通常將方法中常用的變量放在構造方法中。代碼如下:public class DBConn public Connection conn=null; /定義一個 Connection對象public Statement stmt=null; /定義一個Statement對象public ResultSet rs=null; /定義一個ResultSet對象private static String dbClassName = com.mysql.jdbc.Driver; /保存驅動類的類名
15、的變量private static String dbUrl = jdbc:mysql://shop_db; /保存連接數(shù)據(jù)庫的URL地址的變量private static String dbUser=root;/保存mysql登錄用戶名的變量private static String dbPwd=root;/保存mysql登錄密碼的變量創(chuàng)立連接數(shù)據(jù)庫的方法getConnection(),該方法返回Connection對象的一個實例。getConnection()方法的代碼如下:public static Connection getConnection()Connectio
16、n conn = null;try/調(diào)用class的forname方法加載驅動程序Class.forName(dbClassName).newInstance();conn=DriverManager.getConnection(dbUrl, dbUser, dbPwd);catch(Exception ee)ee.printStackTrace();if(conn = null)System.err.println(警告:DbConnectionManager.getConnection()獲得數(shù)據(jù)庫連接失敗.rnrn鏈接類型:+dbClassName+rn鏈接位置:+dbUrl+rn用戶名
17、/密碼:+dbUser+/+ dbPwd);return conn;創(chuàng)立執(zhí)行查詢語句的方法executeQuery,返回值為ResultSet結果集。executeQuery方法的代碼如下:public ResultSet executeQuery(String sql)tryconn = getConnection();/調(diào)用getConnection方法構造Connection對象的一個實例connstmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs = st
18、mt.executeQuery(sql);/執(zhí)行查詢操作catch (SQLException ex)System.err.println(ex.getMessage();return rs;創(chuàng)立執(zhí)行更新操作的方法executeUpdate,返回值為int型的整數(shù),代表更新的行數(shù)。executeUpdate方法的代碼如下:D public int executeUpdate(String sql) int result = 0; try conn = getConnection();/調(diào)用getConnection方法構造Connection對象的一個實例conn stmt = conn.cr
19、eateStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); result = stmt.executeUpdate(sql); /執(zhí)行更新操作 catch (SQLException ex) ex.printStackTrace(); result = 1; try (); catch (SQLException ex1) return result; 創(chuàng)立執(zhí)行更新操作,并返回該操作中字段自動編號的方法executeUpdate_id。executeUpdate_id方法的代碼如下:public i
20、nt executeUpdate_id(String sql)int result = 0;try conn = getConnection();stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);result = stmt.executeUpdate(sql);String ID = select IDENTITY as id;rs = stmt.executeQuery(ID);if(rs.next()int autoID = rs.getInt(id);res
21、ult = autoID;catch(SQLException ex)result = 0;return result;創(chuàng)立關閉數(shù)據(jù)庫連接的方法close。Close方法的代碼如下:public void close()tryif(rs!=null)rs.close(); /關閉ResultSet結果集catch(Exception e)e.printStackTrace(System.err);tryif(stmt !=null)stmt.close(); /關閉Statementcatch(Exception e)e.printStackTrace(System.err);tryif(co
22、nn != null)conn.close(); /關閉Connectioncatch(Exception e)e.printStackTrace(System.err);實用基類、分頁類,讀者可參考書中所附源碼自行解讀。9.5.2模型層的實現(xiàn)實用基類完成后,按順序首先實現(xiàn)模型層的各類文件,包括各實體類文件和相應的DAO實現(xiàn)類文件。下面將詳細介紹商品實體類及其DAO實現(xiàn)類文件、訂單實體類及其DAO實現(xiàn)類文件、會員實體類及其DAO實現(xiàn)類文件,其它模型層的類及其實現(xiàn)參見源碼。商品實體類package com.honesty.javabean;import java.util.Date;/ Fiel
23、dsprivate Long goodsid; /商品idprivate Integer typeid; /商品類別private String goodsname; /商品名稱private String introduce; /商品參數(shù)介紹private String price; /商品價格private String nowprice; /商品誠信網(wǎng)價格private String picture; /商品圖片private Date intime; /商品添加時間private Integer newgoods; /是否新商品private Integer sale; /是否特價pr
24、ivate Integer hit; /商品瀏覽次數(shù)private Integer quantity;/數(shù)量private String brand;/品牌public Integer getQuantity() return quantity;public void setQuantity(Integer quantity) this.quantity = quantity;public String getBrand() return brand;public void setBrand(String brand) this.brand = brand;/* 默認構造函數(shù) */public
25、 Goods()/商品類的構造方法public Goods(Long goodsid, Integer typeid, String goodsname,String introduce, String price, String nowprice, String picture,Date intime, Integer newgoods, Integer sale, Integer hit,Integer quantity, String brand) super();this.goodsid = goodsid;this.typeid = typeid;this.goodsname = g
26、oodsname;roduce = introduce;this.price = price;this.nowprice = nowprice;this.picture = picture;ime = intime;this.newgoods = newgoods;this.sale = sale;this.hit = hit;this.quantity = quantity;this.brand = brand;public Goods(Long goodsid)this.goodsid = goodsid;public Long getGoodsid()/獲
27、取商品IDreturn this.goodsid;public void setGoodsid(Long goodsid) /設置商品IDthis.goodsid = goodsid; /此處省略了控件商品信息的其它屬性接口代碼訂單實體類avabean; import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;private String orderid; /訂單編號private Short bnumber; /供貨數(shù)量private String username; /用戶名privat
28、e String truename; /真實姓名private String address; / private String postcode; /郵政編碼private String tel; /聯(lián)系 private String pay; /付款方式private String carry; /運送方式private String rebate; /打折折扣private String orderdate; /訂貨日期private Integer enforce; /是否執(zhí)行private String bz; /備注public Order()/生成訂單號,訂單號格式:年月日時分秒
29、public String getOrderid() return orderid;public void setOrderid(String orderid) this.orderid=orderid;public Order(String orderid, Short bnumber, String username,String truename, String address, String postcode, String tel,String pay, String carry, String rebate, String orderdate,Integer enforce, St
30、ring bz) super();this.orderid = orderid;this.bnumber = bnumber;this.username = username;this.truename = truename;this.address = address;this.postcode = postcode;this.tel = tel;this.pay = pay;this.carry = carry;this.rebate = rebate;this.orderdate = orderdate;this.enforce = enforce;this.bz = bz;public
31、 Short getBnumber()/獲得供貨數(shù)量return this.bnumber;public void setBnumber(Short bnumber)/設置供貨數(shù)量this.bnumber = bnumber; /此處省略了訂單信息的其它屬性接口代碼會員實體類bean;private Integer id;/用戶IDprivate String username; /用戶名private String truename;/真實姓名private String password; /密碼private String address; / private String postco
32、de;/郵政編碼private String cardno;/證件號碼private String cardtype; /證件類別private Integer grade;/用戶等級private String amount; /數(shù)量private String tel;/聯(lián)系 private String email; /郵件private Integer freeze;/是否凍結public Member()public Member(Integer id)this.id = id;public Member(Integer id, String username, String tru
33、ename,String password, String address, String postcode, String cardno,String cardtype, Integer grade, String amount, String tel,String email, Integer freeze)this.id = id;this.username = username;this.truename = truename;this.password = password;this.address = address;this.postcode = postcode;this.ca
34、rdno = cardno;this.cardtype = cardtype;this.grade = grade;this.amount = amount;this.tel = tel;this.email = email;this.freeze = freeze;public Integer getId()/獲取會員IDreturn this.id;public void setId(Integer id) /設置會員IDthis.id = id; /此處省略了會員信息的其它屬性接口代碼商品實體對應的DAO實現(xiàn)類 在本系統(tǒng)中主要用Vector類作為容器存儲相關信息。Vector是java.
35、util包中的一個類,是一個可變長度的對象數(shù)組,其大小可以動態(tài)增加或減少。以下介紹Vector類中幾個常用的函數(shù)及其用法。addElment(Object object):添加指定的對象到Vector適量的末尾,Vector矢量的長度增加1。調(diào)用的方法為: Vector(Object object), VectorObjectName是Vector類對象的名稱。clear():刪除Vector矢量中的所有元素,調(diào)用方法為:Vector()。elementAt(int index):返回Vector矢量中指定索引index處的對象。此方法返回Object類型的對象,因此在使用時要進行類型轉換,調(diào)
36、用方法為:VectorObjectName. elementAt(int index)。isEmpty():判斷Vector類中是否含有對象,如果有那么返回true,否那么返回false。調(diào)用方法為Vector()。removeAllElements ():刪除Vector中所有元素,并將其大小設置為0.調(diào)用方法為:Vector()。removeElementAt(int index):刪除Vector中指定元素,此矢量的大小減1。調(diào)用方法為: VectorObjectName. removeElementAt(int index)。size():返回Vector矢量的長度,調(diào)用方法為Vect
37、orObjectName. size()。package com.honesty.dao;import java.sql.Date;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Vector;import com.honesty.javabean.Goods;import com.honesty.javabean.Pageable;import com.honesty.page.Page;import com.honesty.util.DBConn;import java.text.SimpleD
38、ateFormat;public class DAO_Goods static DBConn dbconn = new DBConn();public ResultSet rs = null;private Page page = null;/ 插入商品信息public int goods_insert(Goods goods) throws SQLException try String sql = insert into goods (typeid,goodsname,price,nowprice,picture,intime,newgoods,sale)+ values(+ goods.
39、getTypeid()+ ,+ goods.getGoodsname()Price()+ ,+goods.getNowprice()+ ,+ goods.getPicture()+ ,+ (new impleDateFormat(yyyy-MM-dd hh:mm:ss).format(new java.util.Date()+ ,+ goods.getNewgoods()+ ,+ goods.getSale() + );System.out.println(插入sql語句為 + sql);int i = dbconn.executeUpdate(sql);return i; catch (Ex
40、ception E) E.printStackTrace();return 0; finally / 關閉連接,釋放數(shù)據(jù)庫資源dbconn.close();/ * 查詢商品信息 */ 分頁列出網(wǎng)上商城中所有的商品public static Vector search(int page) throws Exception try String sql = select * from goods;sql = new String(sql.getBytes(ISO8859-1), utf8);ResultSet rs = null;rs = dbconn.executeQuery(sql);/ 得到
41、一個分頁功能類Pageable pageable = new Pageable(rs);/ 設置分頁大小pageable.setPageSize(10);/ 設置要轉向的頁pageable.gotoPage(page);/ 在結果集中定位到某行,在這里,這一行是要轉向頁的第一行rs.absolute(pageable.getRowsCount();int i = 0;System.out.println(page= + page);Vector vector = new Vector();do vector.add(new Goods(rs.getLong(goodsid),rs.getInt
42、(typeid), rs.getString(goodsname), rs.getString(introduce), rs.getString(price),rs.getString(nowprice), rs.getString(picture), rs.getDate(intime), rs.getInt(newgoods), rs.getInt(sale), rs.getInt(hit), rs.getInt(quantity), rs.getString(brand);i+; while (rs.next() & i pageable.getCurrentPageRowsCount(
43、);return vector; finally try dbconn.close(); catch (Exception e) e();/ 列出所有的商品public Vector list_goods()String sql = select * from goods order by intime desc;Vector vector = new Vector();rs = dbconn.executeQuery(sql);try while(rs.next()Goods goods = new Goods();goods.setGoodsid(rs.getLong(goodsid);g
44、oods.setTypeid(rs.getInt(typeid);goods.setGoodsname(rs.getString(goodsname);goods.setIntroduce(rs.getString(introduce);goods.setPrice(rs.getString(price);goods.setNowprice(rs.getString(nowprice);goods.setPicture(rs.getString(picture);goods.setIntime(rs.getDate(intime);goods.setNewgoods(rs.getInt(new
45、goods);goods.setSale(rs.getInt(sale);goods.setHit(rs.getInt(hit);uantity(rs.getInt(quantity);goods.setBrand(rs.getString(brand);/ 向Vector矢量中添加對象goodsvector.addElement(goods); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return vector;public Vector list_goods(Goods good
46、s) try String sql = select * from goods order by intime desc;rs = dbconn.executeQuery(sql);Vector vector = new Vector();/ ResultSet指針最初位于第一行之 前,調(diào)用next方法使下一行成為當前行while (rs.next() goods.setGoodsid(rs.getLong(goodsid);goods.setTypeid(rs.getInt(typeid);goods.setGoodsname(rs.getString(goodsname);goods.se
47、tIntroduce(rs.getString(introduce);goods.setPrice(rs.getString(price);goods.setNowprice(rs.getString(nowprice);goods.setPicture(rs.getString(picture);goods.setIntime(rs.getDate(intime);goods.setNewgoods(rs.getInt(newgoods);goods.setSale(rs.getInt(sale);goods.setHit(rs.getInt(hit);goods.setQuantity(r
48、s.getInt(quantity);goods.setBrand(rs.getString(brand);/ 向Vector矢量中添加對象goodsvector.addElement(goods);return vector; catch (SQLException SqlE) SqlE.printStackTrace();return null; catch (Exception E) E.printStackTrace();return null; finally / 關閉連接,釋放數(shù)據(jù)庫資源dbconn.close();/ 通過商品id獲取商品的信息public Goods list_
49、goods(String id) try String sql = select * from goods where goodsid= + id+ order by intime desc;rs = dbconn.executeQuery(sql);Goods goods = new Goods();while (rs.next() goods.setGoodsid(rs.getLong(goodsid);goods.setTypeid(rs.getInt(typeid);goods.setGoodsname(rs.getString(goodsname);goods.setIntroduc
50、e(rs.getString(introduce);goods.setPrice(rs.getString(price);goods.setNowprice(rs.getString(nowprice);goods.setPicture(rs.getString(picture);goods.setIntime(rs.getDate(intime);goods.setNewgoods(rs.getInt(newgoods);goods.setSale(rs.getInt(sale);goods.setHit(rs.getInt(hit);goods.setQuantity(rs.getInt(
51、quantity);goods.setBrand(rs.getString(brand);return goods; catch (SQLException SqlE) SqlE.printStackTrace();return null; catch (Exception E) E.printStackTrace();return null; finally / 關閉連接,釋放數(shù)據(jù)庫資源dbconn.close();/新品上架/ 對上述函數(shù)進行重載,通過是否為新上架獲取商品的信息public Vector list_goods(int newgoods, String goto_page)V
52、ector vector = null;String sql = , sql2 = ;trypage = new Page();/設置分頁大小page.setPageSize(10);/記錄總數(shù)sql = select count(*) from goods where newgoods= + newgoods+ order by intime desc ;System.out.println(記錄總數(shù)sql= + sql);rs = dbconn.executeQuery(sql);page.setTotalPage(rs);on(goto_page);/查詢結果sql2 = select
53、* from goods where newgoods= + newgoods+ order by intime desc limit + page.getStartposition() + , + page.getPageSize();System.out.println(查詢結果sql= + sql2);rs = dbconn.executeQuery(sql2);vector = new Vector();while (rs.next()Goods goods = new Goods();goods.setGoodsid(rs.getLong(goodsid);goods.setType
54、id(rs.getInt(typeid);goods.setGoodsname(rs.getString(goodsname);goods.setIntroduce(rs.getString(introduce);goods.setPrice(rs.getString(price);goods.setNowprice(rs.getString(nowprice);goods.setPicture(rs.getString(picture);goods.setIntime(rs.getDate(intime);goods.setNewgoods(rs.getInt(newgoods);goods
55、.setSale(rs.getInt(sale);goods.setHit(rs.getInt(hit);goods.setQuantity(rs.getInt(quantity);goods.setBrand(rs.getString(brand);/ 向Vector矢量中添加對象goodsvector.addElement(goods);catch (Exception e) intStackTrace();finally/ 關閉連接,釋放數(shù)據(jù)庫資源dbconn.close();return vector;/ 根據(jù)typeid查詢所有商品public Vector type_goods(S
56、tring typeid,String goto_page) Vector vector = null;String sql = , sql2 = ;try this.page = new Page();/設置分頁大小page.setPageSize(10);/記錄總數(shù)sql = select * from goods where typeid= + typeid + ;ResultSet rs = dbconn.executeQuery(sql);page.setTotalPage(rs);page.setStartposition(goto_page);/查詢結果sql2 = select
57、 * from goods where typeid= + typeid+ order by intime desc limit + page.getStartposition() + , + page.getPageSize();System.out.println(查詢結果sql= + sql2);rs = dbconn.executeQuery(sql2);vector = new Vector();while (rs.next() Goods goods = new Goods();goods.setGoodsid(rs.getLong(goodsid);goods.setTypeid
58、(rs.getInt(typeid);goods.setGoodsname(rs.getString(goodsname);goods.setBrand(rs.getString(brand);goods.setIntroduce(rs.getString(introduce);goods.setHit(rs.getInt(hit);goods.setIntime(rs.getDate(intime);goods.setNowprice(rs.getString(nowprice);goods.setPrice(rs.getString(price);goods.setPicture(rs.g
59、etString(picture);lement(goods);return vector; catch (Exception e) e.printStackTrace();return null; finally dbconn.close();/ 對上述函數(shù)進行重載,通過上架時間查詢商品public Vector list_goods(Date intime, Goods goods) try String sql = select * from goods where intime= + intime+ order by intime desc;rs = dbconn.executeQue
60、ry(sql);Vector vector = new Vector();while (rs.next() goods.setGoodsid(rs.getLong(goodsid);goods.setTypeid(rs.getInt(typeid);goods.setGoodsname(rs.getString(goodsname);goods.setIntroduce(rs.getString(introduce);goods.setPrice(rs.getString(price);goods.setNowprice(rs.getString(nowprice);goods.setPict
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年外債借款合同標準范本及信息披露要求3篇
- 2024年擔保與保證合同新型擔保方式研發(fā)與應用合同3篇
- 2024年新能源產(chǎn)業(yè)質押借款合同范本3篇
- 2024年人工智能產(chǎn)業(yè)信托資金借款合同3篇
- 2024年二零二四年度大棚蔬菜種植基地病蟲害生物防治技術研究合同3篇
- 2024年度農(nóng)產(chǎn)品質量安全風險評估與防控合作協(xié)議3篇
- 2024年農(nóng)業(yè)項目質押擔保及反擔保合同范本詳解3篇
- 2024年度直播平臺內(nèi)容版權許可合同3篇
- 2024年度渣土運輸勞務合同環(huán)保責任追究范本3篇
- 防性安全教育
- 5-項目五 跨境電商出口物流清關
- 物業(yè)管家轉正工作述職報告
- 產(chǎn)品創(chuàng)意設計學習通超星期末考試答案章節(jié)答案2024年
- 協(xié)議書范文離婚書范本模板
- DB3502T 078-2022 代建工作規(guī)程
- 重癥肺炎的護理查房護理病歷臨床病案
- 現(xiàn)場調(diào)查與勘察委托合同三篇
- 北京市海淀區(qū)2023-2024學年五年級上學期數(shù)學期末試卷
- 倉庫安全培訓考試題及答案
- 山西省事業(yè)單位工作人員年度考核登記表
- 生物人教版(2024)版七年級上冊1.2.1學習使用顯微鏡教學課件03
評論
0/150
提交評論