小程序 微信统计表格_微信小程序简单的数据表格及查询功能

简介:

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

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

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

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

项目的码云地址:

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

后端业务逻辑的完成

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 {

}

@Repository

public interface BookstateRepository extends JpaRepository {

}

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 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 findbookAll() {

List bookinfoEntitys=bookinfoRepository.findAll();

List 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 findbookOne(@RequestParam(value = "bookId") Integer bookId){

BookinfoVo bookinfoVo= bookinfoService.findbookOne(bookId);

return ResultVOUtil.success(bookinfoVo);

}

//查询所有

@GetMapping("/findAll") public ResultVO findbookAll(){

List 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.结构布局

具体代码参考源代码

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

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

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

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

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

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

微信小程序简单入门1

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

微信小程序简单入门理解

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

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

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

微信小程序简单介绍 一

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

微信小程序之用户数据解密(七)

[未经作者本人同意,请勿以任何形式转载] 经常看到有点的小伙伴在群里问小程序用户数据解密流程,所以打算写一篇关于小程序用户敏感数据解密教程: 加密过程微信服务器完成,解密过程在小程序和自身服务器完成, ...

什么是微信小程序?简单介绍

1.微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有色的使用体验. 2.手机端App的另外一种新的展现形式 3.无需下载过多占用手机内存的app,小程序直接打开 ...

随机推荐

基于D3JS绘制中国地图

仿照D3JS官网上的美国地图制作了一个中国版的地图. D3JS官网上的版本: http://bl.ocks.org/NPashaP/a74faf20b492ad377312 中国版的地图效果: 如要制 ...

jQuery编程基础精华01(jQuery简介,顶级对象$,jQuery对象、Dom对象,链式编程,选择器)

jQuery简介 什么是jQuery? jQuery就是一个JavaScript函数库,没什么特别的.(开源)联想SQLHelper类 jQuery能做什么?jQuery是做什么的? jQuery本身 ...

怎样加入� android private libraries 中的包的源码

先上图: 这里以加入� afinal_0.5.1_bin.jar 为例. 第一步:加入�jar包到libs里面,系统自己主动把jar载入到android private libraries中: 第二步 ...

Android 安全概述

1. 保密: 信息.文档加密.解密 2. 鉴别.认证:就像确认与我们打电话的确实是XXX,而不是骗子 3. 完整性:信息不能被篡改, 4. 不可否认性:确定信息有who产生,并且将来不能否认

python getpass模块:隐藏不显示输入的密码

不知道为什么,本机测试必须要在debug模式下才正常运行.. import getpass #用于隐藏用户输入的字符串,常用来接收密码 def checkuser(user,passwd): ': r ...

Dubbo.xml配置源-Dubbo.xsd分析

我们使用Dubbo时,一般都会使用xml配置基本信息,如项目名称(application).注册中心(register).协议(protocal).服务(service),如下所示: 1 2 3 ...

my eclipse 端口号被占用问题 Mac上

首先在终端输入 lsof -i :8080 (8080是端口号) 找到进程之后 在终端杀死进程 kill -9 7934 重新运行

图->;最短路径->;单源最短路径(迪杰斯特拉算法Dijkstra)

文字描述 引言:如下图一个交通系统,从A城到B城,有些旅客可能关心途中中转次数最少的路线,有些旅客更关心的是节省交通费用,而对于司机,里程和速度则是更感兴趣的信息.上面这些问题,都可以转化为求图中,两 ...

kafka consumer重复消费问题

在做分布式编译的时候,每一个worker都有一个consumer,适用的kafka+zookeep的配置都是默认的配置,在消息比较少的情况下,每一个consumer都能均匀得到互不相同的消息,但是当消 ...

你可能感兴趣的:(小程序,微信统计表格)