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})

 

       <!--  
            使用mysql的UUID()生成主键
            执行过程:首先通过UUID()得到主键,将主键设置到user对象的id属性中
                     其次在insert执行时,从user对象中取出id属性值
            <selectKey keyProperty="id" resultType="java.lang.String" order="BEFORE">
                SELECT UUID()
            </selectKey
            insert into user(id,username,sex,birthday,address) values(#{id},#{userName},#{sex},#{birthday},#{address})
         -->
</insert>



<insert id="addProduct" parameterType="Product" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO bbs_product values(.....) 
</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="##" οnclick="saveUpdate(${sku.id})">执行JS函数来做相应的变化</a>       (***可标注或不标注javascript,一般默认不标注***)
            <a href="##" οnclick="javascript:window.location.href='/product/list.do'">将跳转链接封装在JS函数中</a>   (***可标注或不标注javascript,但为了代码规范建议标注***)

tips:一般建议用onclick属性,但同时保留href="javascript:void(0)",这样做可以防止href的二次提交同时保留href的渲染效果

 


#4.mybatis动态sql中的trim标签的使用:https://www.cnblogs.com/qiankun-site/p/5758924.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
熟悉项目开发过程中SSM框架、JSP、Mysql使用,知道各技术之间的如何衔接; 考虑到部分学生只需要学习前台(买家)或是后台(后台),故将电商系统分为电商系统前台和电商系统后台两个项目, 当前课程包含电商系统前台和电商系统后台 该课程主要涉及到的技术有:  项目涉及的技术:  1、前端:jsp、css、javascript、jQuery(js框架)、bootstrap框架 2、后台:Spring MVC、Spring、Mybatis框架、javaMail进行邮件发送、jstl 、jstl自定义分页标签、代码生成器等 3、数据库:Mysql 4、服务器:Tomcat项目开发涉及的功能: 1、项目以及数据库搭建 2、用户登录、退出3、用户注册、邮件发送、以及用户信息激活4、首页商品信息页面搭建以及查询功能实现5、查询商品明细6、加入商品至购物车、删除、更新、清除购物车商品信息7、确认订单信息8、订单页面搭建以及下订单功能实现9、查询我的购物车以及订单信息10、商品明细查看,商品修改,商品下架11、商品类型管理12、订单管理13、代码机器人使用等等其他实战项目:java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771 java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008 java项目之hrm人事管理项目(java毕业设计)https://edu.csdn.net/course/detail/23007 JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543 JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572 JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)https://edu.csdn.net/course/detail/26721 JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610 java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770 java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989 系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941 Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值