首页 > 其他分享 >springboot学习-1

springboot学习-1

时间:2023-06-27 09:59:29浏览次数:45  
标签:springboot boot springframework 学习 import mybatis org com

最终目录结构:
image
pom.xml:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.13</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com</groupId>
    <artifactId>study</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>study</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!--mysql 连接驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.17</version>
        </dependency>

        <!-- 德鲁伊数据源 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.6</version>
        </dependency>

        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

        <!-- mybatis-generator-->
        <dependency>
            <groupId>org.mybatis.generator</groupId>
            <artifactId>mybatis-generator-core</artifactId>
            <version>1.4.0</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.0</version>

                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.17</version>
                    </dependency>
                </dependencies>
                
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                    <!-- mybatis-generator.xml 路径 -->
                    <configurationFile>${basedir}/src/main/resources/mybatis-generator.xml</configurationFile>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>


主启动类

package com.study;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.study.dao") // 自动注册 dao 类
public class StudyApplication {

    public static void main(String[] args) {
        SpringApplication.run(StudyApplication.class, args);
    }

}

RequestMapping 与请求参数接收

get 请求用 @RequestParampost 请求用 @RequestBody

package com.study.controller;

import java.util.Map;

import com.study.dao.RecordCatalogDOMapper;
import com.study.pojo.RecordCatalogDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.study.utils.JsonResult;

import lombok.extern.slf4j.Slf4j;

@RestController
@RequestMapping("stu")
@Slf4j
public class StuController {

    @Autowired // 自动装配
    private RecordCatalogDOMapper recordCatalogDOMapper;

    @GetMapping("{stuId}/get")
    /*
     * @RequestParam 当前后端参数一致可以省略
     * api: http://localhost:8081/stu/54/get?name=wang
     */
    public JsonResult getStu(@PathVariable("stuId") String id,
                             @RequestParam String name) {
        log.info("stuId=" + id); // stuId=54
        log.info("name=" + name); // name=wang

        RecordCatalogDO recordCatalogDO = recordCatalogDOMapper.selectByPrimaryKey(1L);
        return JsonResult.ok(recordCatalogDO);
    }

    @PostMapping("create")
    public JsonResult createStu(@RequestBody Map<String, Object> map) {
        log.info("map=" + map.toString()); // map={catalog=吃饭, name=wang}
        return JsonResult.ok(map);
    }
}

yml 配置

server:
  port: 8081

spring:
  datasource:
    name: backend
    url: jdbc:mysql://127.0.0.1:3306/backend # 数据库
    username: root
    password: 12345678
    type: com.alibaba.druid.pool.DruidDataSource # 连接池
    driverClassName: com.mysql.cj.jdbc.Driver

mybatis:
  mapperLocations: classpath:mapping/* # map 映射文件,位于resources的哪个位置

mybatis-generator.xml

提前建好文件夹

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

    <!-- context 是逆向工程的主要配置信息 -->
    <!-- id:起个名字 -->
    <!-- targetRuntime:设置生成的文件适用于那个 mybatis 版本 -->
    <context id="default" targetRuntime="MyBatis3">


        <!--jdbc的数据库连接-->
        <!--jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC-->
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/backend?serverTimezone=UTC"
                        userId="root"
                        password="12345678">
        </jdbcConnection>

        <!-- targetPackage:生成的实体类所在的包路径 -->
        <!-- targetProject:生成的实体类所在的硬盘位置 -->
        <!-- DataObject 类存放位置 -->
        <javaModelGenerator targetPackage="com.study.pojo"
                            targetProject="src/main/java">
            <!-- 是否允许子包 -->
            <property name="enableSubPackages" value="false"/>
            <!-- 是否对modal添加构造函数 -->
            <property name="constructorBased" value="true"/>
            <!-- 是否清理从数据库中查询出的字符串左右两边的空白字符 -->
            <property name="trimStrings" value="true"/>
            <!-- 建立modal对象是否不可改变 即生成的modal对象不会有setter方法,只有构造方法 -->
            <property name="immutable" value="false"/>
        </javaModelGenerator>

        <!-- targetPackage 和 targetProject:生成的 mapper 文件的包和位置 -->
        <sqlMapGenerator targetPackage="mapping"
                         targetProject="src/main/resources">
            <!-- 针对数据库的一个配置,是否把 schema 作为字包名 -->
            <property name="enableSubPackages" value="false"/>
        </sqlMapGenerator>

        <!-- targetPackage 和 targetProject:生成的 interface 文件的包和位置 -->
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="com.study.dao" targetProject="src/main/java">
            <!-- 针对 oracle 数据库的一个配置,是否把 schema 作为字包名 -->
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>

        <!--生成对应表及类名-->
        <table tableName="record_catalog" domainObjectName="RecordCatalogDO">
        </table>
    </context>
</generatorConfiguration>

标签:springboot,boot,springframework,学习,import,mybatis,org,com
From: https://www.cnblogs.com/new-bee-2023/p/17507852.html

相关文章

  • 《MySQL 实战 45 讲》学习笔记一
    一条SQL查询语句是如何执行的?MySQL的基本架构示意图(语句执行流程)  ......
  • eggjs学习
    前言:学习nodejs作为服务端的eggjs,成本还是不小的,把很久以前的东西重新捡回来的感觉。要记忆大量的知识点。  学习egg.js,看这一篇就够了!https://juejin.cn/post/6995063516470198279 官方文档:https://eggjs.github.io/zh/guide/文档不适合短时间看完,知识点平铺直叙,没法......
  • Freertos学习05-Task状态打印
    一、前言TaskList()是FreeRTOS中的一个函数,它可以列出所有当前正在运行的任务。这个函数可以用于调试和监视系统中的任务。它返回一个指向任务列表的指针,其中包含每个任务的名称、状态、优先级和堆栈使用情况等信息。二、函数介绍该函数的输入参数为数据缓存区的地址,可......
  • Python全栈学习 day07 数据类型(三)
    day06数据类型(下)常见的数据类型:int,整数类型(整形)bool,布尔类型str,字符串类型list,列表类型tuple,元组类型dict,字典类型set,集合类型float,浮点类型(浮点型)目标:掌握字典、集合、浮点类型相关知识。课程概要:set集合,一个不允许重复重复&可变类型(元素可哈希)。dict字典,一个......
  • OE引领学员向世界500强企业学习 《刷下最大的企业游学团记录大全》
    2023年6月5号,OE杰青商学院率领近200位学员到中国游学,创下了马来西亚纪录大全《最多人参与的企业游学团》。这次游学团的联办单位有中国国际贸易学会区域经贸合作工作委员会、启迪环宇创新(北京)科技有限公司、中国会展网及旅游与媒体GoTraz。OE杰青商学院创办人兼董事长DatukWira......
  • Python全栈学习 day08 基础知识补充与总结
    day08总结和考试课程目标:对第一模块“Python基础”阶段的知识点进行总结和考试,让学员更好的掌握此模块的相关知识。课程概要:代码规范知识补充阶段总结(思维导图)考试题1.代码规范程序员写代码是有规范的,不只是实现功能而已。1.1名称在Python开发过程中会创建文件夹......
  • 强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantage actor-cri
    强化学习从基础到进阶-常见问题和面试必知必答[6]:演员-评论员算法(advantageactor-critic,A2C),异步A2C、与生成对抗网络的联系等详解1.核心词汇优势演员-评论员(advantageactor-critic,A2C)算法:一种改进的演员-评论员(actor-critic)算法。异步优势演员-评论员(asynchronousadvanta......
  • Freertos学习03-Task状态
    一、前言FreeRTOS是一个流行的实时操作系统,它支持多任务处理。在FreeRTOS中,任务有不同的状态,这些状态反映了任务在系统中的行为。二、状态特点任务可以存在于以下状态中:运行当任务实际执行时,它被称为处于运行状态。任务当前正在使用处理器。如果运行RTOS的处理器只......
  • Python全栈学习 day04 进制和编码
    day04进制和编码课程目标:讲解计算机中一些必备的常识知识,让学员了解一些常见名词背后的含义(重在理解)。课程概要:python代码的运行方式进制计算机中的单位编码1.Python代码运行方式脚本式python3~/PycharmProjects/day03/6.作业题讲解.py交互式python32.进......
  • Python全栈学习 day2 快速上手基础语法知识
    day02快速上手课程目标:学习Python最基础的语法知识,可以用代码快速实现一些简单的功能。课程概要:初识编码(密码本)编程初体验输出初识数据类型变量注释输入条件语句1.编码(密码本)计算机中所有的数据本质上都是以0和1的组合来存储。在计算机中会将中文内存转换成0101......