SpringBoot
# 换换口味
跟上脚步吧,切到spring boot
玩玩
# controller.RequestMapping()
访问无效
# 原因
启动类和controller
项目不在同一级目录下
# 解决方案
将启动类放置到较高级目录下即可成功,个人建议放到根目录下吧
# 如何将容器切换到Undertow
修改pom.xml
注意:在
macOS
中修改后可能不会立马生效,我这边是因为下班了,第二天来自动就好了,有点莫名其妙
<!-- 原始 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 修改后 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--排除spring-boot-starter-tomcat-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 添加Undertow容器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Spring Boot
整合数据库
这里使用了海哥的
mybatis-flex
来进行处理的
修改
pom.xml
<!-- 增加以下包 --> <dependency> <groupId>com.mybatis-flex</groupId> <artifactId>mybatis-flex-core</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>com.mybatis-flex</groupId> <artifactId>mybatis-flex-annotation</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>com.mybatis-flex</groupId> <artifactId>mybatis-flex-processor</artifactId> <version>1.2.2</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.mybatis-flex</groupId> <artifactId>mybatis-flex-codegen</artifactId> <version>1.2.2</version> </dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22新增代码生成器
import com.alibaba.druid.pool.DruidDataSource; import com.mybatisflex.codegen.Generator; import com.mybatisflex.codegen.config.GlobalConfig; public class Codegen { public static void main(String[] args) { //配置数据源 DruidDataSource dataSource = new DruidDataSource(); dataSource.setUrl("jdbc:mysql://192.168.10.60:3306/test?serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=convertToNull"); dataSource.setUsername("root"); dataSource.setPassword("123456"); //创建配置内容 GlobalConfig globalConfig = new GlobalConfig(); //设置只生成哪些表 // globalConfig.addGenerateTable("qc_ip", "qc_proxy"); //设置 entity 的包名 globalConfig.setEntityPackage("com.xingcxb.common.model"); //设置表前缀 globalConfig.setTablePrefix("x_"); //设置 entity 是否使用 Lombok globalConfig.setEntityWithLombok(true); //是否生成 mapper 类,默认为 false globalConfig.setMapperGenerateEnable(true); //设置 mapper 类的包名 globalConfig.setMapperPackage("com.qt.common.mapper"); //可以单独配置某个列 // ColumnConfig columnConfig = new ColumnConfig(); // columnConfig.setColumnName("tenant_id"); // columnConfig.setLarge(true); // columnConfig.setVersion(true); // globalConfig.addColumnConfig("account", columnConfig); //通过 datasource 和 globalConfig 创建代码生成器 Generator generator = new Generator(dataSource, globalConfig); //生成代码 generator.generate(); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43在
resources
下新建mybatis-flex.properties
文件# 全局启用apt开关 processor.enable = true # 开启 Mapper 自动生成 processor.mappersGenerateEnable = true # APT 代码生成路径 processor.genPath = src/main/java/com/x/common/apt
1
2
3
4
5
6使用
mvn clean package
生成Tables
文件,将Tables
文件剪切到model/table
文件夹下假设在
IndexController
下使用import com.x.common.CommonParams; import com.x.common.mapper.AdminMapper; import com.x.common.model.Admin; import jakarta.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; @Controller @RequestMapping(CommonParams.BASE_ADMIN_PATH) public class Index { @Resource AdminMapper adminMapper; @RequestMapping("/login") @ResponseBody public String login(String a, String b) { List<Admin> admins = adminMapper.selectAll(); for (Admin admin : admins) { System.out.println(admin); } return "test"; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
更新时间: 2023/5/18 16:09:55