不器小窝 不器小窝
首页
随笔
  • GoLang
  • 前端

    • Vue
    • VuePress
  • 开发工具
  • 系统工具
读吧
  • ToDb (opens new window)
  • goKit (opens new window)
  • 友情链接
  • 免费信息
  • 时间线
  • 关于
GitHub (opens new window)

不器

知行合一
首页
随笔
  • GoLang
  • 前端

    • Vue
    • VuePress
  • 开发工具
  • 系统工具
读吧
  • ToDb (opens new window)
  • goKit (opens new window)
  • 友情链接
  • 免费信息
  • 时间线
  • 关于
GitHub (opens new window)
  • GoLang

  • Dart

  • Markdown

  • Java

    • SpringBoot
      • 换换口味
      • controller.RequestMapping()访问无效
        • 原因
        • 解决方案
      • 如何将容器切换到Undertow
      • Spring Boot整合数据库
  • Js

  • 语言
  • Java
不器
2023-05-10
目录

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

# Spring Boot整合数据库

这里使用了海哥的mybatis-flex来进行处理的

  1. 修改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
  2. 新增代码生成器

        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
  3. 在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
  4. 使用mvn clean package生成Tables文件,将Tables文件剪切到model/table文件夹下

  5. 假设在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
#SpringBoot笔记#基础
更新时间: 2023/5/18 16:09:55
Markdown语法
plasmo从入门到放弃

← Markdown语法 plasmo从入门到放弃→

最近更新
01
听不进真话,是穷人最大的困境
06-04
02
呐喊
06-03
03
plasmo从入门到放弃
05-29
更多文章>
Theme by Vdoing | Copyright © 2022-2023 不器 | 小窝
sitemap icon by Icons8
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式