微服务+mybaits-plus+layui分页对数据库进行增删改查

本文介绍了如何在微服务环境下,利用MyBatis-Plus进行数据库操作,并结合Layui实现前端分页展示。首先创建了一个SpringCloud_EurekaServer作为注册中心,然后搭建了UserService服务端,包括实体类、接口映射、Service层以及MyBatis-Plus分页插件。接着,创建了SpringCloud_HTML客户端,实现了控制层和与UserService的接口调用。客户端通过引入layui和jQuery,构建了HTML页面以展示从微服务获取的数据。
摘要由CSDN通过智能技术生成

新建pom项目,引入依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
    </parent>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Edgware.SR2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

新建子模块SPRINGCLOUD_EUREKASERVER:注册中心
main方法:启动注册中心

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerMain {

    public static void main(String[] args) {
        new SpringApplicationBuilder(EurekaServerMain.class).web(true).run(args);
    }

}

引入依赖

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
    </dependencies>
    /**
    	将注册中心打包到Linux系统上所需要的插件
    **/
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

注册中心resources配置文件:application.yml

eureka:
  instance:
    preferIpAddress: true #将来注册到注册中心的微服务包括注册中心都是使用IP地址
    hostname: localhost
  client:
    registerWithEureka: false #是否注册到注册中心 注册中心自己不用注册
    fetchRegistry: false #是否抓取注册中心的注册信息
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/ #微服务和客户端用来注册和发现的地址
server:
  port: 8761

新建子模块SPRINGCLOUD_USERSERVICE:服务端
实体类

package cn.ps.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

public class User{
	
	@TableId(type=IdType.AUTO)
    private int id;
	@TableField("username")
    private String userName;
	
	@TableField("usersex")
    private String userSex;
	
	@TableField("userage")
    private String userAge;
	
	@TableField("userphone")
    private String userPhone;
	
	@TableField("usermoney")
    private String userMoney;
	
	@TableField("useremail")
    private String userEmail;
    
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserSex() {
		return userSex;
	}
	public void setUserSex(String userSex) {
		this.userSex = userSex;
	}
	public String getUserAge() {
		return userAge;
	}
	public void setUserAge(String userAge) {
		this.userAge = userAge;
	}
	public String getUserPhone() {
		return userPhone;
	}
	public void setUserPhone(String userPhone) {
		this.userPhone = userPhone;
	}
	public String getUserMoney() {
		return userMoney;
	}
	public void setUserMoney(String userMoney) {
		this.userMoney = userMoney;
	}
	public String getUserEmail() {
		return userEmail;
	}
	public void setUserEmail(String userEmail) {
		this.userEmail = userEmail;
	} 
}
public class Result {
    private int code;
    private String msg;
    private int count;
    private List data;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public List getData() {
        return data;
    }

    public void setData(List data) {
        this.data = data;
    }

接口映射类

@Mapper
public interface UserMapper extends BaseMapper<User>{

}

service层

@RestController
public class UserServiceImpl{
	@Autowired
	private UserMapper userMapper;
	@GetMapping("/users")
	public Result queryUser(String userName,String userMoney,String curPage, String numPage) {
		//第一次访问没有当前页
		if(StringUtils.isEmpty(curPage)) {
			curPage="1";
		}
		if(StringUtils.isEmpty(numPage)) {
			numPage="10";
		}
		QueryWrapper<User> qw=new QueryWrapper<User>();
		if(StringUtils.isNotEmpty(userName)) {
			qw.like("username", userName);
		}
		if(StringUtils.isNotEmpty(userMoney)) {
			qw.eq("usermoney", userMoney);
		}
		
		//转换成int类型
		int cur=Integer.parseInt(curPage);
		int num=Integer.parseInt(numPage);
		IPage<User> pageData=userMapper.selectPage(new Page<User>(cur,num), qw);
		Result result=new Result();
		result.setCode(0);
		result.setCount((int)pageData.getTotal());
		result.setData(pageData.getRecords());
		return result;
	}
	@PostMapping("/user")
	public void addUser(@RequestBody User user) {
		userMapper.insert(user);
	}
	@Delete
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本项目使用 Spring Boot 搭建, 用于加深对 Spring Boot 与 Shiro 的学习, 项目特色是支持 restful 风格权限控制, 支持对同一 URL, 不同 HTTP Mehtod 的权限控制, 适用于更多的场景. 预览地址: http://ewt.186g.cn 默认管理员账号: admin, 密码: 123456. 普通用户账号: user, 密码: 123456. 为了不影响其他人的浏览体验, 请尽量不要进行删除类的敏感操作. admin 为超级管理员, 自动拥有全部权限. 系统特色 支持根据同 URL, 不同 HTTP Method 来校验权限, 更支持 restful 场景. 集成 OAuth2 登录, 且提供了接口易于拓展开发. 全局异常处理. 根据请求方式区分返回 json 数据还是错误页面. Logback MDC 支持, 将当前登录人和操作者 IP 加入日志中. JSR-303 数据校验 运行环境 JDK 1.8 MySQL 5.7 Redis 配置文件 打开 application.properties 修改 MySQL 和 Redis 连接信息. spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.cache.type=redis spring.datasource.username=root spring.datasource.password=123456 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/shiro_action?useSSL=false&characterEncoding=UTF8 启动项目 在完成了上述步骤后,找到 ShiroActionApplication 启动类, 启动即可. 启动后访问地址为:http://localhost:8080 , 用户名:admin, 密码:123456. 技术选型 前端 前端框架: Layui 后台模板: Z-Admin 后端 SpringBoot 2.2.3.RELEASE Shiro 1.4.0 Mybatis-Plus3.1.2 Druid 1.1.10 PageHelper 1.2.9 Shiro-Redis 3.2.3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值