微信小程序简单的数据表格及查询功能
简介:
此项目是一个前后端分离的小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.结构布局

具体代码参考源代码
微信小程序简单的数据表格及查询功能的更多相关文章
- 微信小程序的ajax数据请求wx.request
微信小程序的ajax数据请求,很多同学找不到api在哪个位置,这里单独把小程序的ajax请求给列出来,微信小程序的请求就是wx.request这个api,wx.request(一些对象参数),微信小程 ...
- 微信小程序简单封装图片上传组件
微信小程序简单封装图片上传组件 希望自己 "day day up" -----小陶 我从哪里来 在写小程序的时候需要上传图片,个人觉得官方提供的 Uploader 组件不是太好用, ...
- 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 ...
- 干货,看微信小程序后台用户数据如何演变和递增
这几天发现附近小程序又多了好几家,其中有普通小程序和门店小程序,把它们做一个对比,门店小程序更多的像一张名片,只有基本的企业名称.地址.营业时间.电话和门店照片,和普通小程序相比显得逊色许多.楼下的水 ...
随机推荐
- Extjs4.1+desktop+SSH2 定义程序入口
app.js定义程序入口: MainController.js: 加载控制器: 外部组件引用入口loader.js 时间组件 静态变量组件: 引入comm.js index.jsp 验证打印 comm ...
- hdu-2066 一个人的旅行---模板题
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2066 题目大意: 求到目标点集合中的最短距离 解题思路: dijkstra算法求出每个点到该点的最短 ...
- 【BZOJ1833】[ZJOI2010] count 数字计数(数位DP)
点此看题面 大致题意: 求在给定的两个正整数\(a\)和\(b\)中的所有整数中,\(0\sim9\)各出现了多少次. 数位\(DP\) 很显然,这是一道数位\(DP\)题. 我们可以用前缀和的思想, ...
- 【BZOJ4196】[NOI2015] 软件包管理器(树链剖分)
点此看题面 大致题意: 有\(n\)个软件包,它们的依赖关系形成一棵树.现在,问你安装或卸载一个软件包,会影响多少个软件包的安装状态. 树链剖分 这道题应该是 树链剖分 算法比较入门的题目吧. 对于安 ...
- Problem K: 搜索基础之棋盘问题
Problem K: 搜索基础之棋盘问题 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 92 Solved: 53[Submit][Status][W ...
- object-detection-crowdai数据处理
import os file=os.listdir('/home/xingyuzhou/object-detection-crowdai') file.sort(key= lambda x:int(x ...
- 由一道CTF pwn题深入理解libc2.26中的tcache机制
本文首发安全客:https://www.anquanke.com/post/id/104760 在刚结束的HITB-XCTF有一道pwn题gundam使用了2.26版本的libc.因为2.26版本中加 ...
- R+hadoop
这里面的配置 http://www.rdatamining.com/big-data/r-hadoop-setup-guide root@kali:~/hadoop_home/hadoop-1.2.1 ...
- SpringBoot学习4:springboot整合listener
整合方式一:通过注解扫描完成 Listener 组件的注册 1.编写listener package com.bjsxt.listener; import javax.servlet.ServletC ...
- 自己写一个Promise
参考Promise 的 官方规范 https://promisesaplus.com/ Promise 其实就是一个状态机 它只有两种状态变化 pending => fulfill ...