1,创建简单数据库数据表

2,创建Mapper文件

 <!--查询商品-->
<select id="selectcommodity" resultType="Commodity">
select * from commodity
</select> <!--添加商品-->
<insert id="insertcommodity" >
insert into commodity (name,price,number) values (#{name},#{price},#{number})
</insert> <!--删除商品-->
<delete id="deletecommodityById" parameterType="int">
delete from commodity where id=#{id};
</delete> <!--修改商品-->
<update id="updatecommdity">
update commodity
set name=#{name},price=#{price},number=#{number}
where id=#{id}
</update>

3,编写dao层

    //查询Commodity
List<Commodity> selectcommodity(); //添加Commodity
int insertcommodity(Commodity commodity); //删除Commodity
int deletecommodityById(int id); //编辑Commodity
int updatecommdity(@Param("name") String name,@Param("price") int price,@Param("number") int number,@Param("id")int id);

4,编写service层

GoodsService

    //查询Commodity
List<Commodity> selectcommodity(); //添加Commodity
int insertcommodity(Commodity commodity); //删除Commodity
int deletecommodityById(int id); //编辑Commodity
int updatecommdity(@Param("name") String name,@Param("price") int price,@Param("number") int number,@Param("id")int id);

GoodsImple

    //查询Commodity
public List<Commodity> selectcommodity() {
return goodsDao.selectcommodity();
} //添加Commodity
public int insertcommodity(Commodity commodity) {
return goodsDao.insertcommodity(commodity);
} //删除Commodity
public int deletecommodityById(int id) {
return goodsDao.deletecommodityById(id);
} //编辑Commodity
public int updatecommdity(String name, int price, int number, int id) {
return goodsDao.updatecommdity(name,price,number,id);
}

5,编写Controller层

 // 查询Commodity商品
@ResponseBody
@RequestMapping("/selectcommodity")
public R selectcommodity(){
return R.ok(goodsService.selectcommodity());
} // 添加Commodity商品
@ResponseBody
@RequestMapping("/insertcommodity")
public R insertcommodity(String name,Integer price,Integer number){
return R.ok(goodsService.insertcommodity(new Commodity(0,name,price,number,0)));
} @ResponseBody
@RequestMapping("/deletecommodityById")
public R deletecommodityById(Integer id){
return R.ok(goodsService.deletecommodityById(id));
} @ResponseBody
@RequestMapping("/updatecommdity")
public R updatecommdity(String name, Integer price,Integer number,Integer id){
return R.ok(goodsService.updatecommdity(name,price,number,id));
}

6,页面

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
table{
text-align: center;
}
tr{
height: 40px;
line-height: 40px;
}
table input{
background: transparent;
width: 40px;
height: 20px;
line-height: 20px;
padding: 0;
border:none;
outline:none;
border-top: 1px solid gray;
border-bottom: 1px solid gray;
text-align: center;
}
button{
width: 20px;
height: 22px;
border: 1px solid gray;
border-left: none;
cursor: pointer;
outline:none;
margin-left: -4px;
}
#reduce{
border-right: none;
border-left:1px solid gray;
margin-right: -5px;
}
span{
color: red;
font-size: 22px;
}
a{
text-decoration: none;
column-rule: blue;
}
#addCom{
margin: 30px;
}
</style>
</head>
<body>
<table width="1000px" id="tab1" border="1" style="width: 90%">
<caption style="font-size: 28px;">购物车</caption>
<tr><th>序号</th><th>名称</th><th>单价</th><th>数量</th><th>小计</th><th>操作</th></tr>
<tr v-for="(obj,index) in commoditys">
<td>{{obj.id}}</td>
<td>{{obj.name}}</td>
<td>{{obj.price}}</td>
<td>
<!--<button id="jian">-</button>-->
<!--<input type="text" v-model="obj.number">-->
<!--<button >+</button>--> <button id="jian" v-on:click="obj.number<=0?0:(obj.number-=1)">-</button>
<input type="text" v-model="obj.number"/>
<button v-on:click="obj.number+=1">+</button>
</td>
<!--计算后保留后两位小数-->
<td>{{(obj.price*obj.number).toFixed(2)}}</td>
<td>
<a href="#" @click="remove(obj.id)">删除</a>
&nbsp;
<a href="#" @click="updata(obj.id)">编辑</a>
</td>
</tr> <tr>
<td colspan="6" align="right">
总计:{{total|currency}}
</td>
</tr> </table> <div id="addCom" >
<input type="text" id="inpid" hidden="hidden">
名称:<input type="text" id="inpname">
单价:<input type="text" id="inpprice">
数量:<input type="text" id="inpnumber"> <input type="button" value="添加" id="insertcomy">
<input type="button" value="修改" @click="update">
</div> <script src="js/jquery-1.11.3.js"></script>
<script src="js/vue.min.js"></script>
<script>
var vm=new Vue({
el:"#tab1",
data:{
commoditys:[]
},
computed:{//计算的方法
total:function(){
var sum=0;
for(var i=0;i<this.commoditys.length;i++){
sum+=this.commoditys[i].price*this.commoditys[i].number;
}
return sum;
}
},
methods:{
remove:function (id) {
$.ajax({
url:"goods/deletecommodityById",
data:{id:id},
success:function (data) {
if (data.code==1){
alert("删除成功!");
show(); }else {
alert("删除失败!");
}
}
})
},
updata:function (cid) {
for (var i=0;this.commoditys.length;i++){
if (this.commoditys[i].id==cid){
$("#inpid").val(this.commoditys[i].id);
$("#inpname").val(this.commoditys[i].name);
$("#inpnumber").val(this.commoditys[i].number);
$("#inpprice").val(this.commoditys[i].price);
}
}
}
}
}) var vm2=new Vue({
el:"#addCom",
data:{},
methods:{
update:function () {
alert($("#inpid").val())
$.ajax({
url:"goods/updatecommdity",
data:{
"name":$("#inpname").val(),
"price":$("#inpprice").val(),
"number":$("#inpnumber").val(),
"id":$("#inpid").val()
},
success:function (data) {
alert("修改成功");
$("#inpname").val();
$("#inpprice").val();
$("#inpnumber").val();
$("#inpid").val();
show();
},error:function (rel) {
alert(rel+"修改失败");
}
});
}
}
})
function show() {
$.ajax({
url:"goods/selectcommodity",
contentType:"application/json;charset=utf-8",
datatype:"json",
success:function (data){
console.log(data.data)
vm.commoditys=data.data;
}
})
}
show(); //添加
$("#insertcomy").on("click",function(){
// alert($("#inpname").val());
// alert($("#inpprice").val());
// alert($("#inpnumber").val());
$.ajax({
url:"goods/insertcommodity",
data:{
"name":$("#inpname").val(),
"price":$("#inpprice").val(),
"number":$("#inpnumber").val(),
},
type:"post",
success:function () {
alert("添加成功");
show();
},error:function (rel) {
alert(rel+"添加失败");
}
});
}); </script>
</body>
</html>

(注意引用jquer.js vue.js)

Vue+MySQL实现购物车的增删改查的更多相关文章

  1. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  2. python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查

    python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...

  3. 使用 NodeJS+Express+MySQL 实现简单的增删改查

    关于node.js暂时记录如下,以后有时间一定学习 文章来自简书,作者:sprint,2016-07 使用 Node.js + Express+MySQL 实现简单的增删改查 https://www. ...

  4. vue实现对数据的增删改查(CURD)

    vue实现对数据的增删改查(CURD) 导语: 网上看到一个写的比较好的学习文章,转载分享一下 在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的 ...

  5. mysql 的基本操作总结--增删改查

    本文只是总结一下mysql 的基本操作,增删改查,以便忘记的时候可以查询一下 1.创建数据库 语法:CREATE DATABASES 数据库名; 例子: CREATE DATABASES studen ...

  6. Mysql数据表的增删改查

    ---恢复内容开始--- Mysql数据表的增删改查 1.创建表   语法:CREATE TABLE 表名(字段1,字段2,字段3.......) CREATE TABLE `users` ( `us ...

  7. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  8. MySQL数据库安装,MySQL数据库库的增删改查,表的增删改查,表数据的基本数据类型

    一 MySQL的安装 MySQL现在属于甲骨文公司,所以和java语言匹配度较高,同时甲骨文公司的另一种数据库为Oracle,两者同为关系型数据库,即采用关系模型来组织数据,以行和列的方法来存储数据的 ...

  9. 在C#的控制台应用中使用Dapper链接MySQL并执行一些增删改查

    一.首先先创建一个C#的控制台应用 二.然后添加上必要的命名空间 using System;using System.Collections.Generic;using MySql.Data.MySq ...

随机推荐

  1. C++11新特性之operator "" xxx(const char *, size_t n)

    从C++11开始,我们可以使用以下形式通过常量字符串构造自定义类型, 比如: class Person { public: Person(const std::string& name): _ ...

  2. [转]神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列

    原文:https://www.cnblogs.com/youzhibing/p/11516154.html 这篇文章,对group by的讲解不错 -------------------------- ...

  3. 通过supervisor自启动kafka服务

    一.supervisor安装:echo_supervisord_conf > /etc/supervisord.conf 二.生成基础配置:vi /etc/supervisord.conf最后添 ...

  4. 学习路线 (转自 https://mp.weixin.qq.com/s/_FIGSda6wWL-5LXMQAk3IA )

  5. Django REST framework+Vue 打造生鲜电商项目(笔记四)

    (PS:部分代码和图片来自博客:http://www.cnblogs.com/derek1184405959/p/8813641.html.有增删) 一.用户登录和手机注册 1.drf的token功能 ...

  6. 52、[源码]-Spring源码总结

    52.[源码]-Spring源码总结 总结 一.Spring容器在启动的时候,先会保存所有注册进来的Bean的定义信息: xml注册bean: 注解注册Bean:@Service.@Component ...

  7. 使用jQuery快速高效制作网页交互特效--JavaScript操作BOM对象

    JavaScript操作BOM 一.window对象: 二.window对象的属性和方法 1.windows对象的常用属性: 语法:window.属性名="属性值" 2.windo ...

  8. 使用Costura.Fody插件将自己写的程序打包成一个可以独立运行的EXE文件

    我们在开发程序的时候会引用很多DLL文件,在程序完成编写后,如果不把这些引用的DLL打包,不能在其他电脑运行,那么很多同学可能在想了,能不能把我们编写好的程序打包成一个EXE文件,最好双击就能运行,当 ...

  9. 二十八. Ceph概述 部署Ceph集群 Ceph块存储

    client   :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13   1.实验环境 准备四台KVM虚 ...

  10. Educational Codeforces Round 69

    目录 Contest Info Solutions A. DIY Wooden Ladder B. Pillars C. Array Splitting D. Yet Another Subarray ...