大数据Vue单表综合案例

功能介绍:使用vue和SSM完成信息的显示功能、添加功能,修改功能, 点击“批准出院”状态修改为“已出院”,模糊查询功能

 创建表:

create   table   emp(
  eid   int primary key   auto_increment,
    name   varchar(200),
  sex   int,
  bir   date,
cname  varchar(200)


)

insert into emp (eid, name, sex, bir, cname)
values
       (1,'张三丰',1,'2020-10-10','大数据'),
       (2,'小明',1,'2010-10-10','全栈'),
       (3,'小黑',0,'2000-10-10','精英班'),
       (4,'紫的',0,'2020-10-10','高中'),
       (5,'好撒',1,'2020-10-10','大数据');

创建Maven项目;

 

 

 创建实体类:


    private   Integer eid    ;
    private     String  name ;
    private     Integer   sex;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date bir  ;
    private    String     cname ;

    private   Integer   state;

Controller  代码:

package com.jiyun.controller;

import com.github.pagehelper.PageInfo;
import com.jiyun.pojo.Emp;
import com.jiyun.service.EmpService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class EmpController {
    @Autowired
    private EmpService b;
//z展示所有
    @RequestMapping("show")
    public PageInfo<Emp> show(@RequestBody Emp emp, Integer page) {

        return b.show(emp, page);

    }

    //状态
    @RequestMapping("yuan")
    public Boolean yuan(Integer eid) {
        b.add1(eid);
        return true;

    }

//    删除
    @RequestMapping("del")
    public void del(Integer eid) {

        b.shan(eid);

    }

//    修改
    @RequestMapping("add")
    public Boolean add(@RequestBody Emp emp) {
        b.add(emp);
        return true;

    }

//全文修改
    @RequestMapping("quan")
    public Boolean quan(@RequestBody Emp emp) {
        b.quan(emp);
        return true;

    }

//添加
    @RequestMapping("add1")
    public Boolean add1(@RequestBody Emp emp) {
        b.add2(emp);
        return true;

    }
//通过id回显
    @RequestMapping("getid")
    public Emp getid(Integer eid) {

        return b.getid(eid);

    }
}

Service 的代码:

package com.jiyun.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.jiyun.mapper.EmpDao;
import com.jiyun.pojo.Emp;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class EmpService {

    @Autowired
    private EmpDao b;
    public PageInfo<Emp> show(Emp emp, Integer  page) {
        PageHelper.startPage(page,2);
        List<Emp> show = b.show(emp);
        PageInfo<Emp> empPageInfo = new PageInfo<Emp>(show);
        return  empPageInfo;
    }

    public void shan(Integer eid) {
        b.shan(eid);
    }

    public Emp getid(Integer eid) {
        return b.getid(eid);
    }

    public void add(Emp emp) {
        b.add(emp);
    }

    public void add1(Integer eid) {

        b.add1(eid);
    }

    public void add2(Emp emp) {
        b.add2(emp);
    }

    public void quan(Emp emp) {
        b.quan(emp);
    }
}

Mapper:

接口

package com.jiyun.mapper;

import com.jiyun.pojo.Emp;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

public interface EmpDao {

    List<Emp> show(Emp emp);
@Delete("delete    from   emp    where eid=#{eid}")
    void shan(@Param("eid") Integer eid);
@Select("select  *from    emp   where eid=#{eid}")
    Emp getid( @Param("eid")  Integer eid);

    void add(Emp emp);

    void add1(@Param("eid")  Integer eid);

    void add2( Emp emp);

    void quan(Emp emp);
}

EmpDao.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--表示这个mapper中可以写那个接口中方法的sql语句-->
<mapper namespace="com.jiyun.mapper.EmpDao">
    <!--id必须和接口中的某个方法名一样
    resultType id属性对应的方法的返回值
    -->

    <select id="show" resultType="Emp" parameterType="Emp" >
      select *from   emp
        <where>
            <if test="name!=null  and name!=''">
                  name  like  '%${name}%'
            </if>
        </where>

    </select>
    
    <!--修改-->

    <update id="add" parameterType="Emp">
update emp set  name=#{name}, cname=#{cname}  where eid=#{eid}

    </update>
    <!--状态-->

    <update id="add1" parameterType="int">
update emp set  state=1 where eid=#{eid}

    </update>
    <!--全文修改-->
    <update id="quan" parameterType="Emp">
update emp set  name=#{name},sex=#{sex},bir=#{bir},cname=#{cname},state=#{state} where eid=#{eid}

    </update>
<!--添加-->
    <insert id="add2" parameterType="Emp">
  insert into emp  ( name,sex,bir, cname,state)
values(#{name},#{sex},#{bir},#{cname},#{state})

    </insert>


</mapper>

 前端展示所有:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/MyDate.js"></script>
    <script src="js/vue.js"></script>
    <script src="js/axios.js"></script>
</head>
<body   bgcolor="aqua" >
<center>


<div  id="app">

    <h1>员工管理系统</h1>
    姓名 <input type="text"   v-model="emp.name"  placeholder="根据姓名搜索">
    <input type="button"  value="搜索" @click="all()">
    <a href="add.html">增加</a>
    <table  border="1">
        <tr>
            <td><input type="checkbox"  @click="fan(this)" >全选</td>
            <td>编号</td>
            <td>姓名</td>
            <td>性别</td>
            <td>日期</td>
            <td>所在部门</td>
            <td>状态</td>
            <td>操作</td>
        </tr>
        <tr v-for="a  in  slist">
            <td><input type="checkbox"     class="w" :value="a.eid"></td>
            <td>{{a.eid}}</td>
            <td>{{a.name}}</td>
            <td>{{a.sex==0?"女":"男"}}</td>
            <td>{{new  Date (a.bir).Format("yyyy-MM-dd")}}</td>
            <td>{{a.cname}} </td>
            <td>{{a.state==0?"未出院":"出院"}}</td>
            <td>

                <a  v-if="a.state==0" href=""  @click="chu(a.eid)">批准出院</a>

                <!--<input type="button"   value="删除" @click="del(a.eid)">-->
                <a href=""   @click="del(a.eid)" >删除</a>
                <a :href="'xiu.html?eid='+a.eid">修改</a>
                <a :href="'xiu1.html?eid='+a.eid">全文修改</a>

            </td>

        </tr>
    </table>

<!--分页-->
 当前页  {{page.pageNum}} /总页数 {{page.pages}}/总条数{{page.total}}
    <br>
    <input v-if="!page.isFirstPage" type="button" value="首页" @click="all(page.FirstPage)">
    <input v-if="!page.isFirstPage" type="button" value="上一页" @click="all(page.prePage)">

    <input v-for="p in page.pages" type="button" :value="p" @click="all(p)">

    <input v-if="!page.isLastPage" type="button" value="下一页" @click="all(page.nextPage)">
    <input v-if="!page.isLastPage" type="button" value="尾页" @click="all(page.LastPage)">

</div>
</center>
</body>

<script>
// 创建一个Vue实例
function  fan(u){
        $(".w").prop("checked",u.checked)
    }
    let  app=new  Vue({
        //获取渲染的元素
        el:"#app",
        //获取渲染元素的数据
        data:{
            //空的对象
            emp:{
            },
            slist:{},
            // 、分页
            page:{},
        },
        methods:{
            //展示所有
            all(page=1){
                axios.post("show.do?page="+page,this.emp).then(res=>{
                    this.slist=res.data.list;
                    this.page=res.data;
                })
            },
            //删除
            del(eid){
                axios.post("del.do?eid="+eid).then(res=>{
          this.all()
                })
            },
            //状态
            chu(eid){
                axios.post("yuan.do?eid="+eid).then(res=>{
              if(res.data){
                  this.all();
              }
                })
            }
        },
        created(){
            this.all();
        }



    })


</script>
</html>

添加:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/MyDate.js"></script>
    <script src="js/vue.js"></script>
    <script src="js/axios.js"></script>
</head>
<body>

<div id="app">

    姓名 <input type="text" name="name" v-model="emp.name" placeholder="请输入姓名">
    <br>
    性别
    <input type="radio" name="sex" value="0" v-model="emp.sex">女
    <input type="radio" name="sex" value="1" v-model="emp.sex">男 <br>
    <input type="date" v-model="emp.bir"> <br>
    部门
    <input type="text" v-model="emp.cname" placeholder="所在部门"> <br>
    状态
    <input type="radio" name="state" value="0" v-model="emp.state">未出院
    <input type="radio" name="state" value="1" v-model="emp.state">出院 <br>
    <br>
    <input type="submit" value="提交" @click="submit()">
</div>
</body>

<script>
    let eid = location.search.substring(5);
    let app = new Vue({
        el: "#app",
        data: {
            emp: {},
            bu: [],
        },
        methods: {
            
            bygetid() {
                axios.post("getid.do?eid=" + eid).then(res => {
                    this.emp = res.data;
                })

            },
            //添加

            submit() {
                axios.post("add1.do", this.emp).then(res => {
                    if (res.data) {
                        location.href = "show.html"
                    } else {
                        alert("数据错误")
                    }
                })

            },
        },
        created() {
            // this.bygetid();
        }
    })


</script>
</html>

修改:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/MyDate.js"></script>
    <script src="js/vue.js"></script>
    <script src="js/axios.js"></script>
</head>
<body>

<div id="app">
    姓名 <input type="text" name="name" v-model="emp.name" placeholder="员工姓名">
    <br>
    部门<input type="text" name="name" v-model="emp.cname" placeholder="员工部门">
    <br>
    <input type="submit" value="提交" @click="submit()">
</div>
</body>
<script>
    let eid = location.search.substring(5);
    let app = new Vue({
        el: "#app",
        data: {
            emp: {},
            bu: [],
        },
        methods: {
            // 通过id回显
            bygetid() {
                axios.post("getid.do?eid=" + eid).then(res => {
                    this.emp = res.data;
                    this.emp.bir = this.emp.bir
                })
            },
            //修改
            submit() {
                axios.post("add.do", this.emp).then(res => {
                    if (res.data) {
                        location.href = "show.html"
                    } else {
                        alert("数据错误")

                    }
                })
            },

        },
        created() {

            this.bygetid();

        }

    })


</script>
</html>

全文修改:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/MyDate.js"></script>
    <script src="js/vue.js"></script>
    <script src="js/axios.js"></script>
</head>
<body>

<div  id="app">

   姓名 <input type="text"  name="name"  v-model="emp.name">
    <br>
    性别<input type="radio"  name="sex"  value="0" v-model="emp.sex">女
   <input type="radio"  name="sex"   value="1" v-model="emp.sex">男 <br>
  生日<input type="date"   v-model="emp.bir"> <br>
  部门  <input type="text"  name="name"  v-model="emp.cname">

    <br>
    状态
    <input type="radio"  name="state"  value="0" v-model="emp.state">未出院
    <input type="radio"  name="state"   value="1" v-model="emp.state">出院 <br>
  <input type="submit"   value="提交"  @click="submit1()">

</div>

</body>

<script  >

    let eid = location.search.substring(5);

    let   app=new  Vue({
        el:"#app",
        data:{

            emp:{


            },
bu:[],

            },
        methods:{
            bygetid(){
                axios.post("getid.do?eid="+eid).then(res=>{
                    this.emp=res.data;
                    this.emp.bir=this.emp.bir

                })

            },

            submit1(){
                axios.post("quan.do",this.emp).then(res=>{
                    if(res.data){
                        location.href="show.html"
                    }else {

                        alert("数据错误")

                    }
                })
            },

        },
        created(){

            this.bygetid();

        }

        })


</script>
</html>

效果展示:

 添加 

修改回显

 全文修改:

 

 

好文推荐

ssm项目案列总结

ssm项目异常总结

JavaEE项目异常总结

 如果我的博客对你有帮助,也是你所喜欢的内容,请“点赞”   “评论”  “收藏”   一键三连,就是对我最大的支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明天会更好fjy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值