简介:

此项目是一个前后端分离的小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.结构布局

具体代码参考源代码

微信小程序简单的数据表格及查询功能的更多相关文章

  1. 微信小程序的ajax数据请求wx.request

    微信小程序的ajax数据请求,很多同学找不到api在哪个位置,这里单独把小程序的ajax请求给列出来,微信小程序的请求就是wx.request这个api,wx.request(一些对象参数),微信小程 ...

  2. 微信小程序简单封装图片上传组件

    微信小程序简单封装图片上传组件 希望自己 "day day up" -----小陶 我从哪里来 在写小程序的时候需要上传图片,个人觉得官方提供的 Uploader 组件不是太好用, ...

  3. WordPress版微信小程序3.1.5版的新功能

    产品的完善是无止境,每过段时间就会发现产品的新问题,使用的人越多,提的需求也会越多,我听得最多的一句话就是:如果加上某某功能就完美了.其实,完美是不存在的,每个人的视角不一样,完美的定义也是不一样的. ...

  4. 微信小程序wx.showActionSheet调用客服信息功能

    微信小程序wx.showActionSheet调用客服消息功能 官方文档的代码: wx.showActionSheet({ itemList: ['A', 'B', 'C'], success (re ...

  5. 微信小程序简单入门1

    参考文档:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html 1  创建项目 开发者工具安装完成后,打开并使用微信扫码登录.选择创建"项 ...

  6. 微信小程序简单入门理解

    简单的小程序示例结构: (一):理解小程序结构app.js,app.json,app.wxss ①app.js,app.json是小程序结构必要的部分,app.wxss可选择 ②app.js用于创建小 ...

  7. 如何在原生微信小程序中实现数据双向绑定

    官网:https://qiu8310.github.io/minapp/ 作者:Mora 在原生小程序开发中,数据流是单向的,无法双向绑定,但是要实现双向绑定的功能还是蛮简单的! 下文要讲的是小程序框 ...

  8. 微信小程序简单介绍 一

    一 组件及api网址: 组件 :https://developers.weixin.qq.com/miniprogram/dev/component/view.html api:https://dev ...

  9. 干货,看微信小程序后台用户数据如何演变和递增

    这几天发现附近小程序又多了好几家,其中有普通小程序和门店小程序,把它们做一个对比,门店小程序更多的像一张名片,只有基本的企业名称.地址.营业时间.电话和门店照片,和普通小程序相比显得逊色许多.楼下的水 ...

随机推荐

  1. python 多线程 生产者消费者

    import threading import time import logging import random import Queue logging.basicConfig(level=log ...

  2. 新版graylog2安装过程

    Graylog是一个开源的 log 收容器,背后的储存是搭配 mongodb,而搜寻引擎则由 elasticsearch 提供.以前版本主要有两个部分集合而成 server 与 web interfa ...

  3. HDU 1009 FatMouse' Trade肥老鼠的交易(AC代码) 贪心法

    题意: 一只老鼠用猫粮来换豆子,每个房间的兑换率不同,所以得尽量从兑换率高的房间先兑换.肥老鼠准备M磅猫粮去跟猫交易,让猫在warehouse中帮他指路,以找到好吃的.warehouse有N个房间,第 ...

  4. HDU1075 字典树 + 字符串映射

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1075 ,字典树的字符串映射. 题意是给你每个火星文单词对应的英语,然后让你把一篇火星文文章给翻译成英语 ...

  5. POJ-1459 Power Network---最大流

    题目链接: https://cn.vjudge.net/problem/POJ-1459 题目大意: 简单的说下题意(按输入输出来讲,前面的描述一堆的rubbish,还用来误导人),给你n个点,其中有 ...

  6. BZOJ 3878: [Ahoi2014]奇怪的计算器

    BZOJ 3878: [Ahoi2014]奇怪的计算器 标签(空格分隔): OI-BZOJ OI-线段树 Time Limit: 10 Sec Memory Limit: 256 MB Descrip ...

  7. 使TextBox的内容换行

    首先你把TextBox控件的MultiLine属性设置为True,然后把TextBox控件的Text属性根据程序需要,在需要换行的地方加入\r\n这样就可实现换行了

  8. 微信小程序的开发——01小程序的执行流程是怎样的?

    作者:叶小钗 转载至:https://www.cnblogs.com/yexiaochai/p/9346043.html 我们这边最近一直在做基础服务,这一切都是为了完善技术体系,这里对于前端来说便是 ...

  9. 1074: [SCOI2007]折纸origami

    Time Limit: 20 Sec  Memory Limit: 162 MBSubmit: 372  Solved: 229[Submit][Status][Discuss] Descriptio ...

  10. 1047: [HAOI2007]理想的正方形

    Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4075  Solved: 2277[Submit][Status][Discuss] Descript ...