###備忘###
#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的渲染效果