赞
踩
创建数据库表 一个demo库,在demo库里创建一个tbl_user表,附上建表语句
CREATE TABLE `tbl_user` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_no` varchar(128) NOT NULL COMMENT '用户编号', `user_name` varchar(128) NOT NULL COMMENT '用户姓名', `user_account` varchar(255) NOT NULL COMMENT '用户登录名', `mobile` varchar(20) NOT NULL COMMENT '手机', `tel` varchar(20) DEFAULT NULL COMMENT '电话', `email` varchar(32) DEFAULT NULL COMMENT '邮箱', `password` varchar(64) DEFAULT NULL COMMENT '密码:需加密存储', `address` varchar(255) DEFAULT NULL COMMENT '用户地址', `state` varchar(10) NOT NULL DEFAULT 'true' COMMENT '用户状态 0: 失效 ,1: 生效,默认1', `image_path` varchar(255) DEFAULT '' COMMENT '图像位置', `resv1` varchar(255) DEFAULT NULL COMMENT '随机生成的一个不重复序列号', `resv2` varchar(255) DEFAULT NULL COMMENT '保留字段2', `resv3` varchar(255) DEFAULT NULL COMMENT '保留字段3', `create_by` varchar(32) DEFAULT NULL COMMENT '创建人用户编号', `create_username` varchar(64) DEFAULT NULL COMMENT '创建人名称', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间戳', `update_by` varchar(32) DEFAULT NULL COMMENT '更新人用户编号', `update_username` varchar(64) DEFAULT NULL COMMENT '更新人名称', `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间戳', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `idx_uk_user_03` (`mobile`) USING BTREE, UNIQUE KEY `idx_uk_user_01` (`user_no`) USING BTREE, UNIQUE KEY `idx_uk_user_04` (`user_account`) USING BTREE, UNIQUE KEY `idx_uk_user_02` (`email`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='用户表';
同时新增一条记录
INSERT INTO `demo`.`tbl_user`(`id`, `user_no`, `user_name`, `user_account`, `mobile`, `tel`, `email`, `password`, `address`, `state`, `image_path`, `resv1`, `resv2`, `resv3`, `create_by`, `create_username`, `create_time`, `update_by`, `update_username`, `update_time`) VALUES (1, '202107250001', '超级管理员', 'admin', '110', '110', '1111@qq.cn', '8ddcff3a80f4189ca1c9d4d902c3c909', '天机阁', 'true', '', '1e41a575e93c4f17b5a57e737da84424', NULL, NULL, NULL, NULL, '2020-07-14 11:00:42', NULL, NULL, '2021-06-17 01:01:01');
eclipse 安装springboot插件以及创建一个项目,如图
开始创建项目,项目名称springboot-demo
后面下一步就行了,不贴图了。
在pom.xml文件中导入我们需要的依赖。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <!-- 生成get set方法的 --> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <!-- 连接数据库的 --> </dependency> <!-- MybatisPlus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <!-- mybatis-plus 的 --> <version>3.0.1</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <!-- 数据库连接池 的 --> <artifactId>druid</artifactId> <version>1.1.10</version> </dependency>
修改application.properties 为application.yml 连接数据库
#设置启动端口
server:
port: 8904
spring:
application:
name: springboot-demo
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&useSSL=true&characterEncoding=UTF-8
username: root
password: ENC(dfKn9vpRdSiRbPGTH+qnTQ==) #换成自己的数据库密码
type: com.alibaba.druid.pool.DruidDataSource
开始创建controller,service以及dao层。目录结构如图
开始书写各层代码
该层定义了访问的url,mybatis-plus提供了很多不用写sql的api,为了偷懒我们就直接调用service的方法吧。
package com.example.demo.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import com.example.demo.persist.entity.TblUser; import com.example.demo.service.ITblUserService; @RestController // 该注解是controller 和 @ResponseBody的组合注解,前者代表把这个类加载到spring中后者是返回一个json public class TblUserController { @Autowired ITblUserService iTblUserService; // 注解导入service 层 @PostMapping("/tbluser/getOne") //定义post请求和url,获取一条记录 public TblUser getOne(@RequestBody TblUser bo) { return iTblUserService.getById(bo.getId()); // 直接调用service层方法,通过id获数据 } }
//service层 package com.example.demo.service; import com.example.demo.persist.entity.TblUser; import com.baomidou.mybatisplus.extension.service.IService; public interface ITblUserService extends IService<TblUser> { } // serviceImpl层 package com.example.demo.service.impl; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.example.demo.persist.dao.TblUserDao; import com.example.demo.persist.entity.TblUser; import com.example.demo.service.ITblUserService; @Service public class TblUserServiceImpl extends ServiceImpl<TblUserDao, TblUser> implements ITblUserService { }
该层主要是写sql 的时候会用到,简单的增删改查mybatis-plus已经提供了api。
package com.example.demo.persist.dao;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.persist.entity.TblUser;
@Mapper
public interface TblUserDao extends BaseMapper<TblUser> {
}
package com.example.demo.persist.entity; import java.io.Serializable; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; @Data public class TblUser implements Serializable { private static final long serialVersionUID = 1L; /** * 主键ID */ @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 用户编号 */ private String userNo; /** * 用户姓名 */ private String userName; /** * 用户登录名 */ private String userAccount; /** * 手机 */ private String mobile; /** * 电话 */ private String tel; /** * 邮箱 */ private String email; /** * 密码:需加密存储 */ private String password; /** * 用户地址 */ private String address; /** * 用户状态 0: 失效 ,1: 生效,默认1 */ private String state; /** * 图像位置 */ private String imagePath; /** * 随机生成的一个不重复序列号 */ private String resv1; /** * 保留字段2 */ private String resv2; /** * 保留字段3 */ private String resv3; /** * 创建人用户编号 */ private String createBy; /** * 创建人名称 */ private String createUsername; /** * 创建时间戳 */ private LocalDateTime createTime; /** * 更新人用户编号 */ private String updateBy; /** * 更新人名称 */ private String updateUsername; /** * 更新时间戳 */ private LocalDateTime updateTime; }
去main启动类启动服务
spring和mybatis日志都打印出来则代表成功
打开postman,输入localhost:8904/tbluser/getOne,post请求,请求体为id,如图
返回数据则代表成功。接口响应正常。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。