zoukankan      html  css  js  c++  java
  • 微信小程序简单的数据表格及查询功能

    简介:

    此项目是一个前后端分离的小demo,

    开发工具:idea+微信小程序开发工具

    前端:界面布局样式和js的跳转

    后端:依靠SpringBoot的业务逻辑层

    项目的码云地址:

     https://gitee.com/zhege/WebChatDemoJava

    微信开发工具的使用和代码的结构及其含义参考

    https://developers.weixin.qq.com/miniprogram/dev/api/

    后端业务逻辑的完成

    1.数据库的创建

     工具:Navicat

     

    2. dao层及其方法的实现

    1>bookinfo的实例化,利用@Entity完成映射

    @Entity
    @Table(name = "bookinfo")
    public class BookinfoEntity {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private int bookId;
        @Column
        private String bookType;
        @Column
        private String bookName;
        @Column
        private int bookNum;
        @Column
        private int bookState;
    
        public int getBookId() {
            return bookId;
        }
    
        public void setBookId(int bookId) {
            this.bookId = bookId;
        }
    
        public String getBookType() {
            return bookType;
        }
    
        public void setBookType(String bookType) {
            this.bookType = bookType;
        }
    
        public String getBookName() {
            return bookName;
        }
    
        public void setBookName(String bookName) {
            this.bookName = bookName;
        }
    
        public int getBookNum() {
            return bookNum;
        }
    
        public void setBookNum(int bookNum) {
            this.bookNum = bookNum;
        }
    
        public int getBookState() {
            return bookState;
        }
    
        public void setBookState(int bookState) {
            this.bookState = bookState;
        }
    }
    bookinfoentity

    2>bookstate的实例化

    @Entity
    @Table(name = "bookstate")
    public class BookstateEntity {
        @Id
        private int bookState;
        @Column
        private String bookStateinfo;
    
        public int getBookState() {
            return bookState;
        }
    
        public void setBookState(int bookState) {
            this.bookState = bookState;
        }
    
        public String getBookStateinfo() {
            return bookStateinfo;
        }
    
        public void setBookStateinfo(String bookStateinfo) {
            this.bookStateinfo = bookStateinfo;
        }
    }
    bookstateEntity

    3>利用repository实现对对象的持久化操作,是OO的真正实现

    @Repository
    public interface BookInfoRepository extends JpaRepository<BookinfoEntity,Integer> {
    }
    @Repository
    public interface BookstateRepository extends JpaRepository<BookstateEntity,Integer> {
    }

     

    3.service层的实现、

     3.1  BookinfoService接口

    package com.example.demo.service;
    
    
    import com.example.demo.vo.BookinfoVo;
    
    import java.util.List;
    
    /**
     * Author: wuhen
     * Date: 2018/10/9
     * Time: 20:40
     */
    public interface BookinfoService {
    
        //查询书籍
        BookinfoVo findbookOne(Integer bookId);
    
        //查询所有书籍
       List<BookinfoVo> findbookAll();
    
    }
    BookinfoService

    3.2   接口的实现

    package com.example.demo.service.impl;
    
    
    import com.example.demo.entity.BookinfoEntity;
    import com.example.demo.entity.BookstateEntity;
    import com.example.demo.repository.BookinfoRepository;
    import com.example.demo.repository.BookstateRepository;
    import com.example.demo.service.BookinfoService;
    import com.example.demo.util.BookConverter;
    import com.example.demo.vo.BookinfoVo;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Author: wuhen
     * Date: 2018/10/9
     * Time: 20:48
     */
    @Service
    public class BookinfoServiceImpl implements BookinfoService {
        @Autowired
        private BookinfoRepository bookinfoRepository;
        @Autowired
        private BookstateRepository bookstateRepository;
        BookConverter bookConverter=new BookConverter();
        @Override
        public BookinfoVo findbookOne(Integer bookId) {
    
            BookinfoEntity bookinfoEntity= bookinfoRepository.findById(bookId).get();
            BookstateEntity bookstateEntity = bookstateRepository.findById(bookinfoEntity.getBookState()).get();
            BookinfoVo bookinfoVo;
            bookinfoVo = bookConverter.convert(bookinfoEntity, BookinfoVo.class);
            bookinfoVo.setBookStateinfo(bookstateEntity.getBookStateinfo());
            return bookinfoVo;
        }
    
        @Override
        public List<BookinfoVo> findbookAll() {
            List<BookinfoEntity> bookinfoEntitys=bookinfoRepository.findAll();
            List<BookinfoVo> bookinfoVos=new ArrayList<>();
    
            for (BookinfoEntity bookinfoEntity:bookinfoEntitys)
            {
                BookinfoVo bookinfoVo;
                BookstateEntity bookstateEntity= bookstateRepository.findById(bookinfoEntity.getBookState()).get();
                bookinfoVo=bookConverter.convert(bookinfoEntity,BookinfoVo.class);
                bookinfoVo.setBookStateinfo(bookstateEntity.getBookStateinfo());
                bookinfoVos.add(bookinfoVo);
            }
    
           return bookinfoVos;
        }
    }
    BookinfoServiceImpl

     

    4. controller层的实现

    package com.example.demo.controller;
    
    
    
    import com.example.demo.service.BookinfoService;
    import com.example.demo.util.ResultVOUtil;
    import com.example.demo.vo.BookinfoVo;
    import com.example.demo.vo.ResultVO;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    import java.util.List;
    
    /**
     * Author: wuhen
     * Date: 2018/10/9
     * Time: 20:55
     */
    @RestController
    @RequestMapping("/book")
    public class BookinfoController {
        @Autowired
        private BookinfoService bookinfoService;
        //查询单个
        @GetMapping("/findOne")
        public ResultVO<BookinfoVo> findbookOne(@RequestParam(value = "bookId") Integer bookId){
                   BookinfoVo bookinfoVo= bookinfoService.findbookOne(bookId);
                   return ResultVOUtil.success(bookinfoVo);
        }
        //查询所有
        @GetMapping("/findAll") public ResultVO<BookinfoVo> findbookAll(){
           List <BookinfoVo> bookinfoVo= bookinfoService.findbookAll();
           return ResultVOUtil.success(bookinfoVo);
       }
    }
    BookinfoController

     

    5. 请求返回json数据

    {
        "code": 0,
        "msg": "成功",
        "data": [
            {
                "bookId": 1,
                "bookType": "数学",
                "bookName": "大数宣讲",
                "bookNum": 20,
                "bookStateinfo": "在架"
            },
            {
                "bookId": 2,
                "bookType": "语文",
                "bookName": "国语",
                "bookNum": 30,
                "bookStateinfo": "在架"
            },
            {
                "bookId": 3,
                "bookType": "英语",
                "bookName": "四六级",
                "bookNum": 45,
                "bookStateinfo": "在架"
            },
            {
                "bookId": 4,
                "bookType": "科技",
                "bookName": "天眼",
                "bookNum": 12,
                "bookStateinfo": "在架"
            }
        ]
    }
    {
        "code": 0,
        "msg": "成功",
        "data": {
            "bookId": 2,
            "bookType": "语文",
            "bookName": "国语",
            "bookNum": 30,
            "bookStateinfo": "在架"
        }
    }

     前端业务逻辑的完成

    1.效果

    2.结构布局

    具体代码参考源代码

  • 相关阅读:
    flex 开发air 2.0 sdk 设置
    后来的我们
    岷县蓓蕾中学开展读书活动侧记
    c# 中文件操作 文件被锁住的问题
    wcf中配置文件
    ASP.NET中的session存储模式运用
    net中用户登录验证和基页面类
    jquery文件上传控件 Uploadify
    MongoDB基本介绍及一些用法
    用SQL删除重复记录的N种方法
  • 原文地址:https://www.cnblogs.com/wuhen8866/p/9762254.html
Copyright © 2011-2022 走看看