-
庫(kù)存信息可以拆分表出來
便于后續(xù)擴(kuò)展
查看全部 -
數(shù)據(jù)封裝分了3種
DO 數(shù)據(jù)庫(kù)封裝對(duì)象?
Model 業(yè)務(wù)對(duì)象
VO 前端返回對(duì)象
查看全部 -
扣減庫(kù)存和訂單入庫(kù) 可用性沒有保證
既不是一個(gè)事務(wù),也沒有雙寫(比如mq 和 mysql)校對(duì)的功能
查看全部 -
減庫(kù)存的思路:
直接通過update加條件 判斷影響行數(shù)的方法
比
先select庫(kù)存
然后再扣減的方式更好
一條語句搞定,執(zhí)行sql的原子性
后者需要執(zhí)行兩條sql,還要通過事務(wù)保證原子性
查看全部 -
joda-time
DateTime類型
查看全部 -
@EnableAutoConfiguration
作為Spring Boot的注解
和@SpringApplication有什么區(qū)別?
查看全部 -
創(chuàng)建spring boot的簡(jiǎn)單方式
new project -> Maven -> 選擇archetype
maven-archetype-quickstart
如果是傳統(tǒng)web項(xiàng)目則
new project -> Maven -> 選擇archetype
maven-archetype-webapp
查看全部 -
將整個(gè)領(lǐng)域模型傳遞給用戶是錯(cuò)誤的
查看全部 -
UserModel才是真正意義上處理業(yè)務(wù)的核心模型,dataobject是對(duì)數(shù)據(jù)庫(kù)的映射
查看全部 -
<!-- 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">價(jià)格</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">庫(kù)存</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")+"---解析數(shù)據(jù)");
?? ???????? //獲取商品詳情
??????????? $.ajax({
??????????????? type:"GET",
??????????????? url:"http://localhost:8090/item/get",
??????????????? data:{
??????????????????? "id":getParam("id")???????????? ??? ??? ??? ??? ??? ?
??????????????? },
??????????????? //允許跨域請(qǐng)求
??????????????? xhrFields:{withCredentials:true},
??????????????? success:function (data) {
??????????????????? if (data.status=="success") {
?? ??? ??? ??? ??? ????? g_itemVO=data.data;
?? ??? ??? ??? ??? ??? ? reloadDom();
?????????????????????? // alert("獲取信息成功");
??????????????????? }else {
??????????????????????? alert("獲取信息,原因?yàn)? + data.data.errMsg);
??????????????????? }
??????????????? },
??????????????? error:function (data) {
??????????????????? alert("獲取信息,原因?yàn)?+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是對(duì)基本框架的搭建,里面還有很多不熟悉的地方,比如異常處理,還有里面各種配置文件啊,各種注解之類的,還有裝飾器設(shè)計(jì)模式等等,后面都需要回顧一下。
查看全部 -
問題:joda-time無法被反序列化
解決方式:導(dǎo)入相對(duì)應(yīng)的依賴
查看全部 -
耗時(shí)兩個(gè)下午 終于找到自己埋下的坑
問題一:
一直報(bào)錯(cuò)下單失敗,未知錯(cuò)誤,斷點(diǎn)在BaseController處發(fā)現(xiàn)是類型轉(zhuǎn)換錯(cuò)誤,檢查了一遍代碼,沒有發(fā)現(xiàn)問題,最后檢查數(shù)據(jù)庫(kù)類型發(fā)現(xiàn)誤觸把telphone設(shè)置成了主鍵,主鍵成了telphone和id在生成Item時(shí)沒有注釋掉之前的生成代碼 導(dǎo)致xml里主鍵更換成這兩個(gè)?
問題二:解決了上述問題的時(shí)候,發(fā)現(xiàn)sequenceDo報(bào)空指針異常,想了好久這句代碼放在這有什么意義,最后檢查發(fā)現(xiàn),自己數(shù)據(jù)庫(kù)里沒有東西,沒有初始值所以報(bào)異常,回頭查看老師的視頻,才想來自己往數(shù)據(jù)庫(kù)里添加了一個(gè)初始數(shù)據(jù)卻沒有保存,導(dǎo)致自己后面忘掉了這一個(gè)點(diǎn)。。。。。。。
不得不說,寫代碼的時(shí)候一定要嚴(yán)謹(jǐn)認(rèn)真?。。》駝t就是在給自己挖坑
查看全部 -
創(chuàng)建用戶失敗,原因未知:
歷時(shí)兩個(gè)小時(shí)終于發(fā)現(xiàn)問題所在,因?yàn)槠帘蔚袅讼到y(tǒng)報(bào)錯(cuò)而使用自定義報(bào)錯(cuò) 無法看到問題到底出在何處
在BaseController的ex變量上使用debug打斷點(diǎn),發(fā)現(xiàn)在往向stock表中添加數(shù)據(jù)時(shí)id不存在,通過查詢得知,id不存在是在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)主鍵沒有設(shè)置自增,而自己的程序代碼中又沒有設(shè)置主鍵的值,所以當(dāng)插入主鍵時(shí)主鍵為空,所以報(bào)錯(cuò)!?。。。。。。。。?/p>
查看全部 -
表設(shè)計(jì)的時(shí)候,如果有些字段并不是一定要有值,而且還想在這個(gè)字段上添加索引加快查詢速率,那么就不要把這個(gè)字段設(shè)置為不能為null,因?yàn)閚ull不影響索引的生成
查看全部 -
這里我都學(xué)會(huì)啦
查看全部 -
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'
查看全部 -
第二節(jié)課陳內(nèi)容
查看全部 -
第一節(jié)課內(nèi)容:
查看全部 -
function getUrlParam(param){
? ?//構(gòu)造一個(gè)含有目標(biāo)參數(shù)的正則表達(dá)式對(duì)象
? ?var reg = new RegExp("^(.*)?"+ param +"=([0-9]+)$");
? ?//匹配目標(biāo)參數(shù)
? ?var r = window.location.search.substr(1).match(reg);
? ?//返回參數(shù)值
? ?if (r!=null) return unescape(r[2]);
? ?return null;
}簡(jiǎn)單的正則獲取url 參數(shù)信息
查看全部 -
跨域?qū)τ趕ession無法共享。在CrossOrign需要指定具體的路徑。
查看全部 -
把這里的“=”寫成了“-”,也沒報(bào)錯(cuò),找了好半天
查看全部 -
記一個(gè)調(diào)了半天的錯(cuò)誤,花費(fèi)了幾個(gè)小時(shí),原來是數(shù)據(jù)庫(kù)的img_url的長(zhǎng)度設(shè)置為0了,所以無論怎么插入都失敗
切記切記,把它設(shè)置成非0之后就能正常插入了
這里的插入語句老是失敗,因?yàn)椴荒懿迦氲綌?shù)據(jù)庫(kù),所以獲取不到自增的id,導(dǎo)致后面的getId()操作無法進(jìn)行,直接報(bào)錯(cuò)
查看全部
舉報(bào)