Skip to content

Commit f5fb58d

Browse files
committed
mybatis-plus
1 parent ed1dc76 commit f5fb58d

File tree

22 files changed

+1919
-1
lines changed

22 files changed

+1919
-1
lines changed

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@
121121
<module>spring-boot-student-hystrix</module>
122122
<!-- Spring Boot CompletableFuture -->
123123
<module>spring-boot-student-completable-future</module>
124+
<module>spring-boot-student-mybatis-plus</module>
124125
</modules>
125126

126127
</project>

spring-boot-student-layering-cache/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
<dependency>
5757
<groupId>com.github.xiaolyuh</groupId>
5858
<artifactId>layering-cache-starter</artifactId>
59-
<version>1.1.6</version>
59+
<version>1.1.9</version>
6060
</dependency>
6161

6262
</dependencies>
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
target/
2+
!.mvn/wrapper/maven-wrapper.jar
3+
4+
### STS ###
5+
.apt_generated
6+
.classpath
7+
.factorypath
8+
.project
9+
.settings
10+
.springBeans
11+
12+
### IntelliJ IDEA ###
13+
.idea
14+
*.iws
15+
*.iml
16+
*.ipr
17+
18+
### NetBeans ###
19+
nbproject/private/
20+
build/
21+
nbbuild/
22+
dist/
23+
nbdist/
24+
.nb-gradle/
46.5 KB
Binary file not shown.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.0/apache-maven-3.5.0-bin.zip
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<artifactId>spring-boot-student-mybatis-plus</artifactId>
7+
<packaging>jar</packaging>
8+
9+
<name>spring-boot-student-mybatis-plus</name>
10+
<description>Demo Mybatis for Spring Boot</description>
11+
12+
<parent>
13+
<groupId>com.xiaolyuh</groupId>
14+
<artifactId>spring-boot-student</artifactId>
15+
<version>0.0.1-SNAPSHOT</version>
16+
</parent>
17+
18+
<properties>
19+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
20+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
21+
<java.version>1.8</java.version>
22+
</properties>
23+
24+
<dependencies>
25+
<dependency>
26+
<groupId>org.springframework.boot</groupId>
27+
<artifactId>spring-boot-starter-web</artifactId>
28+
</dependency>
29+
<dependency>
30+
<groupId>mysql</groupId>
31+
<artifactId>mysql-connector-java</artifactId>
32+
</dependency>
33+
34+
<dependency>
35+
<groupId>com.baomidou</groupId>
36+
<artifactId>mybatis-plus-boot-starter</artifactId>
37+
<version>3.1.0</version>
38+
</dependency>
39+
40+
<dependency>
41+
<groupId>com.baomidou</groupId>
42+
<artifactId>mybatis-plus-generator</artifactId>
43+
<version>3.1.0</version>
44+
</dependency>
45+
46+
<!--pagehelper -->
47+
<dependency>
48+
<groupId>com.github.pagehelper</groupId>
49+
<artifactId>pagehelper-spring-boot-starter</artifactId>
50+
<version>1.1.1</version>
51+
</dependency>
52+
53+
<dependency>
54+
<groupId>com.alibaba</groupId>
55+
<artifactId>fastjson</artifactId>
56+
<version>1.2.31</version>
57+
</dependency>
58+
59+
<dependency>
60+
<groupId>org.apache.velocity</groupId>
61+
<artifactId>velocity-engine-core</artifactId>
62+
<version>2.0</version>
63+
</dependency>
64+
</dependencies>
65+
66+
</project>
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package com.xiaolyuh;
2+
3+
import com.baomidou.mybatisplus.annotation.DbType;
4+
import com.baomidou.mybatisplus.annotation.IdType;
5+
import com.baomidou.mybatisplus.generator.AutoGenerator;
6+
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
7+
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
8+
import com.baomidou.mybatisplus.generator.config.PackageConfig;
9+
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
10+
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
11+
12+
import java.sql.SQLException;
13+
14+
public class MyBatisPlusGenerator {
15+
16+
public static void main(String[] args) throws SQLException {
17+
18+
//1. 全局配置
19+
GlobalConfig config = new GlobalConfig();
20+
config.setActiveRecord(true) // 是否支持AR模式
21+
.setAuthor("yuhao.wang3") // 作者
22+
//.setOutputDir("D:\\workspace_mp\\mp03\\src\\main\\java") // 生成路径
23+
.setOutputDir("D:\\mybatis-plus") // 生成路径
24+
.setFileOverride(true) // 文件覆盖
25+
.setIdType(IdType.AUTO) // 主键策略
26+
.setServiceName("%sService") // 设置生成的service接口的名字的首字母是否为I
27+
// IEmployeeService
28+
.setBaseResultMap(true)//生成基本的resultMap
29+
.setEnableCache(false)//是否开启缓存
30+
.setBaseColumnList(true);//生成基本的SQL片段
31+
32+
//2. 数据源配置
33+
DataSourceConfig dsConfig = new DataSourceConfig();
34+
dsConfig.setDbType(DbType.MYSQL) // 设置数据库类型
35+
.setDriverName("com.mysql.jdbc.Driver")
36+
.setUrl("jdbc:mysql://host:3306/db")
37+
.setUsername("admin")
38+
.setPassword("admin");
39+
40+
//3. 策略配置globalConfiguration中
41+
StrategyConfig stConfig = new StrategyConfig();
42+
stConfig.setCapitalMode(true) //全局大写命名
43+
// .setSuperEntityClass("com.wlqq.insurance.claim.pojo.po.base.BaseEntity")
44+
.setControllerMappingHyphenStyle(true)
45+
.setRestControllerStyle(true)
46+
.setEntityLombokModel(true)
47+
.setColumnNaming(NamingStrategy.underline_to_camel)
48+
.setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略
49+
// .setTablePrefix("tbl_")
50+
.setInclude("fis_record_ext"); // 生成的表
51+
52+
//4. 包名策略配置
53+
PackageConfig pkConfig = new PackageConfig();
54+
pkConfig.setParent("com.wlqq.insurance")
55+
.setMapper("mybatis.mapper.withSharding")//dao
56+
.setService("service")//servcie
57+
.setController("controller")//controller
58+
.setEntity("mybatis.domain")
59+
.setXml("mapper-xml");//mapper.xml
60+
61+
//5. 整合配置
62+
AutoGenerator ag = new AutoGenerator();
63+
ag.setGlobalConfig(config)
64+
.setDataSource(dsConfig)
65+
.setStrategy(stConfig)
66+
.setPackageInfo(pkConfig);
67+
68+
//6. 执行
69+
ag.execute();
70+
}
71+
72+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.xiaolyuh;
2+
3+
import org.springframework.boot.SpringApplication;
4+
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
6+
@SpringBootApplication
7+
public class SpringBootStudentMybatisPlusApplication {
8+
9+
public static void main(String[] args) {
10+
SpringApplication.run(SpringBootStudentMybatisPlusApplication.class, args);
11+
}
12+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.xiaolyuh.controller;
2+
3+
import com.xiaolyuh.service.PersonService;
4+
import org.springframework.beans.factory.annotation.Autowired;
5+
import org.springframework.http.MediaType;
6+
import org.springframework.web.bind.annotation.RequestMapping;
7+
import org.springframework.web.bind.annotation.RestController;
8+
9+
/**
10+
* @author yuhao.wang
11+
*/
12+
@RestController
13+
public class StockController {
14+
15+
@Autowired
16+
private PersonService personService;
17+
18+
@RequestMapping(value = "stock", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
19+
public Object stock(long id) {
20+
int result = personService.updateAge(id);
21+
return result > 0;
22+
}
23+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.xiaolyuh.domain.mapper;
2+
3+
import com.github.pagehelper.Page;
4+
import com.xiaolyuh.domain.model.Person;
5+
import org.apache.ibatis.annotations.Mapper;
6+
import org.apache.ibatis.annotations.Param;
7+
8+
import java.util.List;
9+
10+
@Mapper//声明成mybatis Dao层的Bean,也可以在配置类上使用@MapperScan("com.xiaolyuh.domain.mapper")注解声明
11+
public interface PersonMapper {
12+
13+
int deleteByPrimaryKey(Long id);
14+
15+
int insert(Person record);
16+
17+
int insertSelective(Person record);
18+
19+
Person selectByPrimaryKey(Long id);
20+
21+
int updateByPrimaryKeySelective(Person record);
22+
23+
int updateByPrimaryKey(Person record);
24+
25+
/**
26+
* 获取所有数据
27+
* @return
28+
*/
29+
List<Person> findAll();
30+
31+
/**
32+
* 分页查询数据
33+
* @return
34+
*/
35+
Page<Person> findByPage();
36+
37+
/**
38+
* 扣库存测试
39+
* @param id
40+
* @return
41+
*/
42+
int updateAge(@Param("id") long id);
43+
}

0 commit comments

Comments
 (0)