CGB2105Day-02笔记

  • Post author:
  • Post category:其他




1、SpringBoot高级用法



1.1LomBok插件



1.1.1Maven坐标查询

网址:

https://mvnrepository.com

,可以在线查找Maven包的相关信息

在这里插入图片描述



1.1.2添加LomBok jar包

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



1.1.3LomBok使用

作用:通过程序自动生成

实体对象

的get/set/toString/equals/hashCode等方法。

@Accessors(chain = true)(链式加载)原理:重启了pojo的set方法,返回当前对象

 public User setId(Integer id) {
        this.id = id;
        return this;
    }

LomBok的常用注解:

在这里插入图片描述



1.1.4关于LomBok面试问题(初级)

问:lombok的使用需要在IDEA提前安装插件!如果项目在Linux系统中部署发布,是否需要提前安装插件!

答:不需要!

原因:

lombok插件只在编译期有效

(编译期:由xxx.java文件编译为xxx.class文件),在打包之前class文件中已经包含了set/get等方法,所以项目打包之后可以直接运行,无需安装插件。



2、BpringBoot整合MyBatis



2.1检查是否安装MySQL数据库或MariaDB

在这里插入图片描述



2.1.1检查MySQL数据库或MariaDB的服务是否启动

说明:正常情况下MySQL的服务项开机自启,有时由于目某种原因导致数据库服务启动失败

问题描述:数据库连接报错,显示连接不可用

检查服务项:

在这里插入图片描述

数据库版本:推荐使用MariaDB,不使用Mysql 5.8



2.1.2导入数据



以SQLYog为例

  1. 新建数据库连接:

    在这里插入图片描述
  2. SQL用法

    在这里插入图片描述



2.1.3导入和导出数据库

  1. 导出数据库:将MySQL中的数据库以:xxx.sql文件进行转储
  2. 导出数据库:读取xxx.sql文件之后工具执行其中的sql,最终实现数据的导入功能
  3. 说明:上述的操作称之为数据库

    冷备份

    ,一般在生产环境下为了保证数据的安全,一般都会定期备份。(周期3-7天左右)一般一式三份数据
  4. 特点:冷备份容易丢失数据,热备份可以实现实时备份。

    在这里插入图片描述



2、SpringBoot整合Mybatis



2.1创建项目



2.2.1创建Maven项目

  1. 选择Maven新建项目

    在这里插入图片描述
  2. 编辑Maven坐标

    在这里插入图片描述
  3. 导入SpringBoot的jar包文件
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <java.version>1.8</java.version>
        <!-- 跳过测试类打包 -->
        <skipTests>true</skipTests>
    </properties>
    <!-- 原则:按需导入 -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <!-- SpringBoot的启动项
                 再包内部 SpringBoot已经完成了项目的 "整合"
                 Web相当于导入的SpringMVC
            -->
            <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.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <!--springBoot数据库连接  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!-- 引入数据库驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!--spring整合mybatis  暂时  -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>

    </dependencies>
    <!-- build:SpringBoot项目与Maven整合的插件
         可以通过插件,执行项目的打包/测试/文档生成等操作
         PS:该插件不能省略,省略该插件时 利用命令启动时报错,没有主清单信息
     -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.5.2</version>
            </plugin>
        </plugins>
    </build>



2.2.2编辑主启动类

在这里插入图片描述



2.2.3 编辑POJO实体对象

一般实体对象只需要添加get/set/toString等等方法,无需添加构造方法

在这里插入图片描述



2.2.4 序列化的作用

一般如果需要对象传递时,要求POJO对象

必须实现序列化接口

,否则数据传输必然报错

在这里插入图片描述



2.2 整合Mybatis



2.2.0 SpringBoot整合Mybatis步骤

  1. 添加jar包文件依赖
  2. SpringBoot整合Mybatis 添加配置文件 (1.连接数据库 2. SpringBoot整合Mybatis)
  3. 创建Mapper接口
  4. 创建XML映射文件



导入jar包文件

  1. Mybatis包
  2. 数据库驱动包
  3. JDBC包
 <!--springBoot数据库连接  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <!-- 引入数据库驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>

        <!--spring整合mybatis  暂时  -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>



2.2.2 关于数据源配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jt?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root

参数说明:

  1. serverTimezone=GMT%2B8: %2B = +GMT +8&
  2. useUnicode=true&characterEncoding=utf8: 是否使用unicode及设定字符集
  3. autoReconnect=true:是否自动重连
  4. allowMultiQueries=true:是否允许批量操作



2.2.3 Mybatis配置文件

mybatis:
  #定义别名包: 实现对象映射
  type-aliases-package: com.jt.pojo
  #加载映射文件一个接口对应一个映射文件
  mapper-locations: classpath:/mybatis/*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true



3、测试Mybatis整合



3.0 编辑UserMapper接口/映射文件

  1. 编辑UserMapper接口

    在这里插入图片描述
  2. 编辑UserMapper.xml映射文件
<mapper namespace="com.jt.mapper.UserMapper">

    <!--CRUD
        定义别名包: 添加了别名包之后可以简化resultType编辑.
    -->
    <select id="getAll" resultType="User">
        select * from demo_user
    </select>

    <!--驼峰命名规则
        表字段:  user_id,user_name
        对象的属性: userId,userName
        resultType: 保证属性与字段名称必须一致.
        Mybatis提供了驼峰命名规则:
        规则:  字段user_id~~~去除_线~~~之后映射对象的属性
        userId
    -->

</mapper>



3.1.1 Spring容器管理Mapper接口

说明:利用@MapperScan注解为接口创建代理对象

在这里插入图片描述



3.1.2 编辑测试案例

在这里插入图片描述



版权声明:本文为XHH_3344原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。