-
庫存信息可以拆分表出來
便于后續擴展
查看全部 -
數據封裝分了3種
DO 數據庫封裝對象?
Model 業務對象
VO 前端返回對象
查看全部 -
扣減庫存和訂單入庫 可用性沒有保證
既不是一個事務,也沒有雙寫(比如mq 和 mysql)校對的功能
查看全部 -
減庫存的思路:
直接通過update加條件 判斷影響行數的方法
比
先select庫存
然后再扣減的方式更好
一條語句搞定,執行sql的原子性
后者需要執行兩條sql,還要通過事務保證原子性
查看全部 -
joda-time
DateTime類型
查看全部 -
@EnableAutoConfiguration
作為Spring Boot的注解
和@SpringApplication有什么區別?
查看全部 -
創建spring boot的簡單方式
new project -> Maven -> 選擇archetype
maven-archetype-quickstart
如果是傳統web項目則
new project -> Maven -> 選擇archetype
maven-archetype-webapp
查看全部 -
將整個領域模型傳遞給用戶是錯誤的
查看全部 -
UserModel才是真正意義上處理業務的核心模型,dataobject是對數據庫的映射
查看全部 -
<!-- getitem.hml 的script 代碼如下-->
<html>
<head>
??? <meta charset="UTF-8">
?? ?<link href="static/assets/global/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css"/>
??? <link href="static/assets/global/css/components.css" rel="stylesheet" type="text/css"/>
??? <link href="static/assets/admin/pages/css/login.css" rel="stylesheet" type="text/css"/>
??? <script src="static/assets/global/plugins/jquery-1.11.0.min.js" type="text/javascript"></script>
??? <title>Title</title>
</head>
<body class="login">
??? <div class="content">
??????? <h3 class="form-title">商品詳情</h3>
??????? <div class="form-group">
??????????? <label class="control-label">商品名</label>
??????????? <div>
??????????????? <label? class="control-label" id="title"/>
??????????? </div>
??????? </div>
??????? <div class="form-group">
??????????? <label class="control-label">商品描述</label>
??????????? <div>
?? ??? ??? ???? <label? class="control-label" id="description"/>?????????? ?
??????????? </div>
??????? </div>
??????? <div class="form-group">
??????????? <label class="control-label">價格</label>
??????????? <div>
?? ??? ??? ???? <label? class="control-label" id="price"/>????????????????? ?
??????????? </div>
??????? </div>
??????? <div class="form-group">
??????????? <label class="control-label">圖片</label>
??????????? <div>
??????????????? <img id="imgUrl"/>
??????????? </div>
??????? </div>
??????? <div class="form-group">
??????????? <label class="control-label">庫存</label>
??????????? <div>
?? ??? ??? ???? <label? class="control-label" id="stock"/>????????????????? ?
??????????? </div>
??????? </div>
?? ??? ?<div class="form-group">
??????????? <label class="control-label">銷量</label>
??????????? <div>
?? ??? ??? ???? <label? class="control-label" id="sales"/>????????????????? ?
??????????? </div>
??????? </div>
?????? ?
????? ?
??? </div>
</body>
<script>
??? function getParam(paramName) {
??? paramValue = "", isFound = !1;
??? if (this.location.search.indexOf("?") == 0 && this.location.search.indexOf("=") > 1) {
??????? arrSource = unescape(this.location.search).substring(1, this.location.search.length).split("&"), i = 0;
??????? while (i < arrSource.length && !isFound)
?? ??? ?arrSource[i].indexOf("=") > 0 && arrSource[i].split("=")[0].toLowerCase() == paramName.toLowerCase() && (paramValue = arrSource[i].split("=")[1], isFound = !0), i++
??? }
??? return paramValue == "" && (paramValue = null), paramValue
} ?
?? ?
?? ?var g_itemVO={};
?? ?
??? jQuery(document).ready(function () {
?? ???????? console.info(getParam("id")+"---解析數據");
?? ???????? //獲取商品詳情
??????????? $.ajax({
??????????????? type:"GET",
??????????????? url:"http://localhost:8090/item/get",
??????????????? data:{
??????????????????? "id":getParam("id")???????????? ??? ??? ??? ??? ??? ?
??????????????? },
??????????????? //允許跨域請求
??????????????? xhrFields:{withCredentials:true},
??????????????? success:function (data) {
??????????????????? if (data.status=="success") {
?? ??? ??? ??? ??? ????? g_itemVO=data.data;
?? ??? ??? ??? ??? ??? ? reloadDom();
?????????????????????? // alert("獲取信息成功");
??????????????????? }else {
??????????????????????? alert("獲取信息,原因為" + data.data.errMsg);
??????????????????? }
??????????????? },
??????????????? error:function (data) {
??????????????????? alert("獲取信息,原因為"+data.responseText);
??????????????? }
??????????? });
??????? ?
??????? });
?
?? ?
?? ?
?? ?
?? ?function reloadDom(){
?? ???? $("#title").text(g_itemVO.title);
?? ??? ?$("#description").text(g_itemVO.description);
?? ??? ?$("#price").text(g_itemVO.price);
?? ??? ?$("#stock").text(g_itemVO.stock);
?? ??? ?$("#sales").text(g_itemVO.sales);
?? ??? ?$("#imgUrl").attr("src",g_itemVO.imgUrl);
?? ??? ?
?? ?}
</script>
</html>查看全部 -
到3-5是對基本框架的搭建,里面還有很多不熟悉的地方,比如異常處理,還有里面各種配置文件啊,各種注解之類的,還有裝飾器設計模式等等,后面都需要回顧一下。
查看全部 -
問題:joda-time無法被反序列化
解決方式:導入相對應的依賴
查看全部 -
耗時兩個下午 終于找到自己埋下的坑
問題一:
一直報錯下單失敗,未知錯誤,斷點在BaseController處發現是類型轉換錯誤,檢查了一遍代碼,沒有發現問題,最后檢查數據庫類型發現誤觸把telphone設置成了主鍵,主鍵成了telphone和id在生成Item時沒有注釋掉之前的生成代碼 導致xml里主鍵更換成這兩個?
問題二:解決了上述問題的時候,發現sequenceDo報空指針異常,想了好久這句代碼放在這有什么意義,最后檢查發現,自己數據庫里沒有東西,沒有初始值所以報異常,回頭查看老師的視頻,才想來自己往數據庫里添加了一個初始數據卻沒有保存,導致自己后面忘掉了這一個點。。。。。。。
不得不說,寫代碼的時候一定要嚴謹認真?。?!否則就是在給自己挖坑
查看全部 -
創建用戶失敗,原因未知:
歷時兩個小時終于發現問題所在,因為屏蔽掉了系統報錯而使用自定義報錯 無法看到問題到底出在何處
在BaseController的ex變量上使用debug打斷點,發現在往向stock表中添加數據時id不存在,通過查詢得知,id不存在是在創建數據庫時主鍵沒有設置自增,而自己的程序代碼中又沒有設置主鍵的值,所以當插入主鍵時主鍵為空,所以報錯?。。。。。。。。?!
查看全部 -
表設計的時候,如果有些字段并不是一定要有值,而且還想在這個字段上添加索引加快查詢速率,那么就不要把這個字段設置為不能為null,因為null不影響索引的生成
查看全部 -
這里我都學會啦
查看全部 -
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'
查看全部 -
第二節課陳內容
查看全部 -
第一節課內容:
查看全部 -
function getUrlParam(param){
? ?//構造一個含有目標參數的正則表達式對象
? ?var reg = new RegExp("^(.*)?"+ param +"=([0-9]+)$");
? ?//匹配目標參數
? ?var r = window.location.search.substr(1).match(reg);
? ?//返回參數值
? ?if (r!=null) return unescape(r[2]);
? ?return null;
}簡單的正則獲取url 參數信息
查看全部 -
跨域對于session無法共享。在CrossOrign需要指定具體的路徑。
查看全部 -
把這里的“=”寫成了“-”,也沒報錯,找了好半天
查看全部 -
記一個調了半天的錯誤,花費了幾個小時,原來是數據庫的img_url的長度設置為0了,所以無論怎么插入都失敗
切記切記,把它設置成非0之后就能正常插入了
這里的插入語句老是失敗,因為不能插入到數據庫,所以獲取不到自增的id,導致后面的getId()操作無法進行,直接報錯
查看全部
舉報