SSM電商專案---雜記
###備忘###
#1.返回插入記錄的主鍵(自增)的兩種實現
<insert id="insertUser" parameterType="cn.itcast.mybatis.po.User" >
<!--
將插入到資料的主鍵返回,返回到User物件中
SELECT LAST_INSERT_ID():呼叫mysql內建函式(CALL是呼叫儲存過程),得到剛insert進去記錄的主鍵值,只適用於自增主鍵
keyProperty:將查詢到主鍵值設定到parameterType指定的物件的哪個屬性
order: SELECT LAST_INSERT_ID()的執行順序,相對於insert語句來說它的執行順序
resultType:返回的key即User屬性的型別
-->
<selectKey keyProperty="id" resultType="int" order="AFTER" >
SELECT LAST_INSERT_ID()
</selectKey>
insert into user(username,sex,birthday,address) values(#{userName},#{sex},#{birthday},#{address})
</insert>
<insert id="addProduct" parameterType="Product" useGeneratedKeys="true" keyProperty="id">
INSERT INTO bbs_product
</insert>
#2.非同步提交的兩種實現
function uploadPic(){
//定義引數
var options = {
url: "/upload/uploadPic.do",
dataType: "json", //這裡大小寫要和後端返回時設定的contentType一致
type: "post",
success:function(data){
//將返回的 兩個路徑的值賦到相應的標籤中
//url
//path jquery是$("")不是EL表示式
$("#allImgUrl").attr("src",data.url);
$("#path").val(data.path);
}
};
//呼叫jquery的非同步提交函式,訪問通過options引數中的url走後端
$("#jvForm").ajaxSubmit(options);
}
function saveUpdate(skuId){
var marketPrice = $("#m"+skuId).attr("disabled",disabled).val();
var price = $("#p"+skuId).attr("disabled",true).val();
var stock = $("#s"+skuId).attr("disabled",true).val();
var upperLimit = $("#l"+skuId).attr("disabled",true).val();
var deliveFee = $("#f"+skuId).attr("disabled",true).val();
//非同步提交 儲存
var url = "/sku/update.do";
var params = {"id":skuId,"marketPrice":marketPrice,"price":price,"stock":stock,"upperLimit":upperLimit,"deliveFee":deliveFee};
$.post(url,params,function(data){
alert(data.message);
},"json"); //“json設定的是dataType 即呼叫成功返回資料的型別”
}
#3.前端頁面跳轉的兩種寫法
href屬性: 預設執行的是url路徑,跳轉頁面,同src、action屬性;但也可以通過標註javascript來執行js的function函式
例子:<a href="/product/list.do">直接通過url訪問後臺跳轉頁面</a> (***不能標註javascript***)
<a href="javascript:saveUpdate(${sku.id})">通過執行JS函式來做相應的變化</a> (***必須標註javascript***)
onclick屬性:預設執行的是JS函式;但也可以通過JS函式的window.location.href="url"來直接跳轉頁面
例子: <a href="##" onclick="saveUpdate(${sku.id})">執行JS函式來做相應的變化</a> (***可標註或不標註javascript,一般預設不標註***)
<a href="##" onclick="javascript:window.location.href='/product/list.do'">將跳轉連結封裝在JS函式中</a> (***可標註或不標註javascript,但為了程式碼規範建議標註***)
tips:一般建議用onclick屬性,但同時保留href="javascript:void(0)",這樣做可以防止href的二次提交同時保留href的渲染效果