A. 用hibernate怎麼實現購物系統的訂單
你先說明你要實現什麼,HIBERNATE主要可以針對資料庫生成一個HIBERNATE DAO類方法,如果實現購物系統的訂單的話,你在生長每個POJO後,在業務層把這個POJO聲明出來,然後再對應每個表單內的text的name對應每個POJO的名字,他就會自動到每個對象中,用的時候在NEW出這個POJO就可以保存客戶點擊頁面時所選的物品。
B. 做一個類似淘寶的購物商城資料庫需要哪些表
-----------------用戶信息-------------
-----------------系統代碼表-----------
---------------菜單信息--------------
-------------------用戶訂單--------------
---------------訂單 項目信息-----------
----------------商品類別信息-------------
----------------產品信息-----------------
----------------公告信息----------------
---------------訂單-----------------
-------------------訂單詳情---------------
C. 電商項目---資料庫表設計
CREATE TABLE `mmall_user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '用戶表id',
`username` varchar(50) NOT NULL COMMENT '用戶名',
`password` varchar(50) NOT NULL COMMENT '用戶密碼,MD5加密',
`email` varchar(50) DEFAULT NULL,
`phone` varchar(20) DEFAULT NULL,
`question` varchar(100) DEFAULT NULL COMMENT '找回密碼問題',
`answer` varchar(100) DEFAULT NULL COMMENT '找回密碼答案',
`role` int(4) NOT NULL COMMENT '角色0-管理員,1-普通用戶',
`create_time` datetime NOT NULL COMMENT '創建時間',
`update_time` datetime NOT NULL COMMENT '最後一次更新時間',
PRIMARY KEY (`id`),
UNIQUE KEY `user_name_unique` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_proct` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',
`category_id` int(11) NOT NULL COMMENT '分類id,對應mmall_category表的主鍵',
`name` varchar(100) NOT NULL COMMENT '商品名稱',
`subtitle` varchar(200) DEFAULT NULL COMMENT '商品副標題',
`main_image` varchar(500) DEFAULT NULL COMMENT '產品主圖,url相對地址',
`sub_images` text COMMENT '圖片地址,json格式,擴展用',
`detail` text COMMENT '商品詳情',
`price` decimal(20,2) NOT NULL COMMENT '價格,單位-元保留兩位小數',
`stock` int(11) NOT NULL COMMENT '庫存數量',
`status` int(6) DEFAULT '1' COMMENT '商品狀態.1-在售 2-下架 3-刪除',
`create_time` datetime DEFAULT NULL COMMENT '創建時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_category` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '類別Id',
`parent_id` int(11) DEFAULT NULL COMMENT '父類別id當id=0時說明是根節點,一級類別',
`name` varchar(50) DEFAULT NULL COMMENT '類別名稱',
`status` tinyint(1) DEFAULT '1' COMMENT '類別狀態1-正常,2-已廢棄',
`sort_order` int(4) DEFAULT NULL COMMENT '排序編號,同類展示順序,數值相等則自然排序',
`create_time` datetime DEFAULT NULL COMMENT '創建時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100031 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_order` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '訂單id',
`order_no` bigint(20) DEFAULT NULL COMMENT '訂單號',
`user_id` int(11) DEFAULT NULL COMMENT '用戶id',
`shipping_id` int(11) DEFAULT NULL,
`payment` decimal(20,2) DEFAULT NULL COMMENT '實際付款金額,單位是元,保留兩位小數',
`payment_type` int(4) DEFAULT NULL COMMENT '支付類型,1-在線支付',
`postage` int(10) DEFAULT NULL COMMENT '運費,單位是元',
`status` int(10) DEFAULT NULL COMMENT '訂單狀態:0-已取消-10-未付款,20-已付款,40-已發貨,50-交易成功,60-交易關閉',
`payment_time` datetime DEFAULT NULL COMMENT '支付時間',
`send_time` datetime DEFAULT NULL COMMENT '發貨時間',
`end_time` datetime DEFAULT NULL COMMENT '交易完成時間',
`close_time` datetime DEFAULT NULL COMMENT '交易關閉時間',
`create_time` datetime DEFAULT NULL COMMENT '創建時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`),
UNIQUE KEY `order_no_index` (`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=118 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_order_item` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '訂單子表id',
`user_id` int(11) DEFAULT NULL,
`order_no` bigint(20) DEFAULT NULL,
`proct_id` int(11) DEFAULT NULL COMMENT '商品id',
`proct_name` varchar(100) DEFAULT NULL COMMENT '商品名稱',
`proct_image` varchar(500) DEFAULT NULL COMMENT '商品圖片地址',
`current_unit_price` decimal(20,2) DEFAULT NULL COMMENT '生成訂單時的商品單價,單位是元,保留兩位小數',
`quantity` int(10) DEFAULT NULL COMMENT '商品數量',
`total_price` decimal(20,2) DEFAULT NULL COMMENT '商品總價,單位是元,保留兩位小數',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `order_no_index` (`order_no`) USING BTREE,
KEY `order_no_user_id_index` (`user_id`,`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_cart` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`proct_id` int(11) DEFAULT NULL COMMENT '商品id',
`quantity` int(11) DEFAULT NULL COMMENT '數量',
`checked` int(11) DEFAULT NULL COMMENT '是否選擇,1=已勾選,0=未勾選',
`create_time` datetime DEFAULT NULL COMMENT '創建時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`),
KEY `user_id_index` (`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_pay_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL COMMENT '用戶id',
`order_no` bigint(20) DEFAULT NULL COMMENT '訂單號',
`pay_platform` int(10) DEFAULT NULL COMMENT '支付平台:1-支付寶,2-微信',
`platform_number` varchar(200) DEFAULT NULL COMMENT '支付寶支付流水號',
`platform_status` varchar(20) DEFAULT NULL COMMENT '支付寶支付狀態',
`create_time` datetime DEFAULT NULL COMMENT '創建時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=61 DEFAULT CHARSET=utf8;
CREATE TABLE `mmall_shipping` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) DEFAULT NULL COMMENT '用戶id',
`receiver_name` varchar(20) DEFAULT NULL COMMENT '收貨姓名',
`receiver_phone` varchar(20) DEFAULT NULL COMMENT '收貨固定電話',
`receiver_mobile` varchar(20) DEFAULT NULL COMMENT '收貨行動電話',
`receiver_province` varchar(20) DEFAULT NULL COMMENT '省份',
`receiver_city` varchar(20) DEFAULT NULL COMMENT '城市',
`receiver_district` varchar(20) DEFAULT NULL COMMENT '區/縣',
`receiver_address` varchar(200) DEFAULT NULL COMMENT '詳細地址',
`receiver_zip` varchar(6) DEFAULT NULL COMMENT '郵編',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8;
GitHub 地址:https://github.com/Andy-leoo/NewBieJavaPro.git
D. 資料庫表的設計
你的sale表存放的應該是倉庫中未出售的商品吧?shop表中存放的應該是正在出售的商品信息么?用戶信息表是為了存放誰買了什麼東西的么?還是其他功能?各個部分的功能最好能夠詳細點,不然設計起來是很難的。
如果是這樣的話,你的sale表中可以有「商品ID,商品名稱,商品庫存數量」等等欄位,shop表中可以有「商品ID,商品名稱,商品售價」,user表中可以有「用戶ID,用戶姓名,購買商品」等信息
E. java 中一個頁面對應的資料庫<最好是pl/sql>詳細設計要寫多少本
這種的不好說,遵循你的項目組文檔規范吧
一般來說,要畫頁面原型、說明操作邏輯,數據存取邏輯,代碼設計邏輯
找一個你的項目組以前的設計文檔看看照著寫就行了
F. 資料庫設計 --商品屬性動態顯示
第一步,我先從簡單的調用出發,定義了一個簡單的函數,該函數僅僅實現一個整數加法求和:
LIBEXPORT_API int mySum(int a,int b){ return a+b;}
C# 導入定義:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)]
public static extern int mySum (int a,int b);
}
在C#中調用測試:
int iSum = RefComm.mySum(,);
運行查看結果iSum為5,調用正確。第一步試驗完成,說明在C#中能夠調用自定義的動態鏈接庫函數。
第二步,我定義了字元串操作的函數(簡單起見,還是採用前面的函數名),返回結果為字元串:
LIBEXPORT_API char *mySum(char *a,char *b){sprintf(b,"%s",a); return a;}
C# 導入定義:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Auto,
CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, string b);
}
在C#中調用測試:
string strDest="";
string strTmp= RefComm.mySum("45", strDest);
運行查看結果 strTmp 為"45",但是strDest為空。我修改動態鏈接庫實現,返回結果為串b:
LIBEXPORT_API char *mySum(char *a,char *b){sprintf(b,"%s",a) return b;}
修改 C# 導入定義,將串b修改為ref方式:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, ref string b);
}
在C#中再調用測試:
string strDest="";
string strTmp= RefComm.mySum("45", ref strDest);
運行查看結果 strTmp 和 strDest 均不對,含不可見字元。再修改 C# 導入定義,將CharSet從Auto修改為Ansi:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, string b);
}
在C#中再調用測試:
string strDest="";
string strTmp= RefComm. mySum("45", ref strDest);
運行查看結果 strTmp 為"45",但是串 strDest 沒有賦值。第二步實現函數返回串,但是在函數出口參數中沒能進行輸出。再次修改 C# 導入定義,將串b修改為引用(ref):
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, ref string b);
}
運行時調用失敗,不能繼續執行。
第三步,修改動態鏈接庫實現,將b修改為雙重指針:
LIBEXPORT_API char *mySum(char *a,char **b){sprintf((*b),"%s",a); return *b;}
C#導入定義:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, ref string b);
}
在C#中調用測試:
string strDest="";
string strTmp= RefComm. mySum("45", ref strDest);
運行查看結果 strTmp 和 strDest 均為"45",調用正確。第三步實現了函數出口參數正確輸出結果。
第四步,修改動態鏈接庫實現,實現整數參數的輸出:
LIBEXPORT_API int mySum(int a,int b,int *c){ *c=a+b; return *c;}
C#導入的定義:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern int mySum (int a, int b,ref int c);
}
在C#中調用測試:
int c=0;
int iSum= RefComm. mySum(,, ref c);
運行查看結果iSum 和c均為5,調用正確。
經過以上幾個步驟的試驗,基本掌握了如何定義動態庫函數以及如何在 C# 定義導入,有此基礎,很快我實現了變長加密函數在 C# 中的調用,至此目標實現。
三、結論
在 C# 中調用 C++ 編寫的動態鏈接庫函數,如果需要出口參數輸出,則需要使用指針,對於字元串,則需要使用雙重指針,對於 C# 的導入定義,則需要使用引用(ref)定義。
對於函數返回值,C# 導入定義和 C++ 動態庫函數聲明定義需要保持一致,否則會出現函數調用失敗。定義導入時,一定注意 CharSet 和 CallingConvention 參數,否則導致調用失敗或結果異常。運行時,動態鏈接庫放在 C# 程序的目錄下即可,我這里是一個 C# 的動態鏈接庫,兩個動態鏈接庫就在同一個目錄下運行。
G. 資料庫設計,一張訂單里有多種商品,種類數目都不定,怎麼設計這兩個表啊
照您這句話來說呢,有以下幾個實體集:訂單,商品,商品種類以及訂單詳情記錄。
其中一個訂單包括多種商品,每種商品有所屬的種類和數量,而這些信息都被記錄在訂單詳情記錄表中。訂單表和訂單詳情記錄表通過訂單編號連接起來。至於各個表的屬性還要看您的具體需求來定。
H. 某公司欲設計一個資料庫以存儲客戶,商品和訂貨單的信息。每個客戶包含客戶代碼(唯一),姓名,收貨地址
將表分為兩類
(1)基礎信息表,包含:
客戶信息表、商品信息表
(2)關聯信息表,包含:
訂單信息表、訂單詳情表、收貨地址表
其中:
一條客戶信息,可以對應多條收貨地址;
一條客戶信息,可以對應多條訂單信息;
一條訂單信息,可以對應多條訂單詳情信息;
一條商品信息,可以對應多條訂單詳情信息;
表關系見下圖:
I. jsp 如何在點擊商品ID查商品詳細信息前查詢資料庫,要思路
應該在proctList.jap中最後有一個查看或者編輯超鏈接,這個超鏈接就是調用java的servlet程序,然後訪問資料庫查詢,然後再傳到proctDetail.jsp中顯示
J. 阿里如何製作數據包
對於阿里數據包也就是通過在店鋪後台編輯的商品信息包,一般在兩種情況下回使用到數據包製作工具:第一個,商品數量過多;第二個,新手。以下的操作步驟是關於甩手工具箱如何製作阿里數據包的過程:
第1步:選擇抓取商品的使用方式,有3種抓取商品方式:
A、您可以在下面的文本框中輸入待抓取商品的關鍵字,然後單擊該文本框下面的按鈕。示例:連衣裙。
B、您也可以 在下面的輸入框中輸入所有支持平台的店鋪或商品地址,然後單擊該文本框右方按鈕抓取。
C、您也可以單擊下面的按鈕進行批量抓取:①批量抓取 ②導入抓取地址 ③整店抓取
用戶可以根據自己的需求來選擇適合自己的抓取方式。
第2步:選擇抓取商品。如顯示抓取到的寶貝,則成功抓取,然後點擊「下一步」。
第3步:轉換商品詳情。查看商品詳情是否轉換正確,如出現屬性沒有轉化正確,可以根據提示批量編輯寶貝的屬性,然後點擊「下一步」。
第4步:導出數據包。請選擇導出數據包位置、導出文件類型及商品描述圖片處理方式,再點擊「導出」按鈕。