文章目录
- 1.新建一个sun_frame数据库并创建user表
- 2.新建一个sun-common-mybatisplus模块
-
- 3.sun-user集成mybatis-plus
- 1.配置application.yml
- 2.修改架构,由sun-user模块引入需要的公共模块
- 3.代码目录结构
- 4.mapper:po查,po封
- 1.UserMapper.java(一会使用@MapperScan注解扫描)
- 2.UserMapper.xml(这个xml放在了非resource目录下,就需要在父模块显示配置扫描,之前配过)
- 5.service:dto查,vo封
- 1.UserService.java
- 2.UserServiceImpl.java 添加@Service注解
- 6.controller:req查,vo封
- UserController.java 添加@RestController注解
- 7.entity
- 1.UserReq.java
- 2.UserDto.java
- 3.UserPo.java
- 8.将项目clean-package试一下
- 1.报错找不到依赖
- 2.这种情况就在父模块clean-install一下就好了
- 3.如果java -jar 启动时报错sun-user-1.0-SNAPSHOT.jar中没有主清单属性,往往是没有打包插件
- 9.apipost测试
1.新建一个sun_frame数据库并创建user表
CREATE DATABASE sun_frame DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
use sun_frame;
CREATE TABLE `user` (`id` bigint NOT NULL AUTO_INCREMENT,`name` varchar(16) COLLATE utf8mb4_general_ci DEFAULT NULL,`age` int DEFAULT NULL,`create_by` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL,`create_time` timestamp NULL DEFAULT NULL,`update_by` varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL,`update_time` timestamp NULL DEFAULT NULL,`delete_flag` tinyint DEFAULT NULL,`version` int DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
2.新建一个sun-common-mybatisplus模块
1.maven项目
2.添加依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.sunxiansheng</groupId><artifactId>sun-common</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>sun-common-mybatisplus</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.21</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies></project>
3.sun-user集成mybatis-plus
1.配置application.yml
server:port: 8080
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: url: jdbc:mysql://bj--grp-1a6li...com:24169/?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=falsetype: com.alibaba.druid.pool.DruidDataSource druid:initial-size: 20 min-idle: 20 max-active: 100 max-wait: 60000
2.修改架构,由sun-user模块引入需要的公共模块
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.sunxiansheng</groupId><artifactId>sun-frame</artifactId><version>1.0-SNAPSHOT</version></parent><artifactId>sun-user</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><dependency><groupId>com.sunxiansheng</groupId><artifactId>sun-common-web</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>com.sunxiansheng</groupId><artifactId>sun-common-mybatisplus</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies></project>
3.代码目录结构
4.mapper:po查,po封
1.UserMapper.java(一会使用@MapperScan注解扫描)
package com.sunxiansheng.user.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sunxiansheng.user.entity.po.UserPo;
import org.springframework.stereotype.Repository;
public interface UserMapper extends BaseMapper<UserPo> {
}
2.UserMapper.xml(这个xml放在了非resource目录下,就需要在父模块显示配置扫描,之前配过)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.sunxiansheng.user.mapper.UserMapper">
</mapper>
5.service:dto查,vo封
1.UserService.java
package com.sunxiansheng.user.service;import com.sunxiansheng.user.entity.dto.UserDto;
public interface UserService {int addUser(UserDto userDto);}
2.UserServiceImpl.java 添加@Service注解
package com.sunxiansheng.user.service.impl;import com.sunxiansheng.user.entity.dto.UserDto;
import com.sunxiansheng.user.entity.po.UserPo;
import com.sunxiansheng.user.mapper.UserMapper;
import com.sunxiansheng.user.service.UserService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;import javax.annotation.Resource;
@Service
public class UserServiceImpl implements UserService {@Resourceprivate UserMapper userMapper;@Overridepublic int addUser(UserDto userDto) {UserPo userPo = new UserPo();BeanUtils.copyProperties(userDto, userPo);int insert = userMapper.insert(userPo);return insert;}}
6.controller:req查,vo封
UserController.java 添加@RestController注解
package com.sunxiansheng.user.controller;import com.sunxiansheng.user.entity.dto.UserDto;
import com.sunxiansheng.user.entity.req.UserReq;
import com.sunxiansheng.user.service.UserService;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;
@RestController
@RequestMapping("/user")
public class UserController {@Resourceprivate UserService userService;@PostMappingpublic Integer addUser(@RequestBody UserReq userReq) {UserDto userDto = new UserDto();BeanUtils.copyProperties(userReq, userDto);int i = userService.addUser(userDto);return i;}
}
7.entity
1.UserReq.java
package com.sunxiansheng.user.entity.req;import lombok.Data;
@Data
public class UserReq {private String name;private Integer age;}
2.UserDto.java
package com.sunxiansheng.user.entity.dto;import lombok.Data;
@Data
public class UserDto {private String name;private Integer age;}
3.UserPo.java
package com.sunxiansheng.user.entity.po;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;import java.util.Date;
@TableName("user")
@Data
public class UserPo {@TableId(value = "id", type = IdType.AUTO) private Long id;private String name;private Integer age;private String createBy;private Date createTime;private String updateBy;private Date updateTime;private Integer deleteFlag;private Integer version;}
8.将项目clean-package试一下
1.报错找不到依赖
2.这种情况就在父模块clean-install一下就好了
3.如果java -jar 启动时报错sun-user-1.0-SNAPSHOT.jar中没有主清单属性,往往是没有打包插件
<build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.0.RELEASE</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
9.apipost测试