简介:

此项目是一个前后端分离的小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. 使用Loadrunner监控Windows资源

    为了区分把装有loadrunner的机器称作A,被监控资源的服务器(windows)称作B 1.确保B机器Administrator账户是可使用状态:右键计算机→ 管理→ 本地用户和组→ 用户,其中A ...

  2. 约瑟夫环问题及PHP代码实现

    php实现猴子选大王 <?php /** * @param $n 猴子数量 * @param $m 出列的那个数 */ function king($n,$m){ $monkeys = rang ...

  3. LeetCode Merge Two Sorted Lists 归并排序

      题意: 将两个有序的链表归并为一个有序的链表. 思路: 设合并后的链表为head,现每次要往head中加入一个元素,该元素要么属于L1,要么属于L2,可想而知,此元素只能是L1或者L2的首个元素, ...

  4. pat甲级1123

    1123 Is It a Complete AVL Tree(30 分) An AVL tree is a self-balancing binary search tree. In an AVL t ...

  5. wamp端口冲突

    因为端口冲突,Apache服务不能运行. 解决方法: 点击wamp图标 => Apache => use a port other than 80 => 输入新的端口,即可. 然后 ...

  6. 因技术垃圾直接上手groovy的工作感悟

    因为熟悉devops,用IDEA的git完成版本提交,不太喜欢公司的代码控制,从事groovy基本没有代码控制,提交就打个压缩包给指定的人. 没有持续继承,持续部署(CICD). http://xio ...

  7. POJ-2226 Muddy Fields---二分图匹配+巧妙构图

    题目链接: https://vjudge.net/problem/POJ-2226 题目大意: 用宽度为1长度不限的木板将水洼‘*’盖住而不盖住草‘.' Sample Input 4 4 *.*. . ...

  8. C++之RAII惯用法

    http://blog.csdn.net/hunter8777/article/details/6327704 C++中的RAII全称是“Resource acquisition is initial ...

  9. 安装CocoaPods遇到的问题 及其解决

    本人也是第一次安装这个 CocoaPods,所以刚开始也是遇到了很多懵逼的问题,今天终于搞定了,就自己总结一下,如有错误敬请指出,谢谢! 由于之前,对于终端命令行,不是很了解,总感觉很麻烦,所以也一直 ...

  10. 在ListBox控件间交换数据

    实现效果: 知识运用: ListBox控件的SelectedItem属性 //获取或设置ListBox控件中当前选定的数据项 public Object SelectedItem{ get;set; ...