java三阶段学习_day02

1. SpringBoot高级用法

1.1 lombok

1.1.1 添加jar包依赖

在pom.xml文件中添加lombok的jar包依赖

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

1.1.2 在线查找jar包依赖的代码

https://mvnrepository.com/
在这里插入图片描述

1.1.3 lombok的使用

作用: 通过程序自动生成实体对象的get/set/toString/…等方法
注意: 使用前,根据需求加注解
在这里插入图片描述
链式加载的原理: 在get/set方法中返回本类对象
注解: @Accessors(chain = true)

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

常用注解:
在这里插入图片描述

1.1.4 lombok面试问题

问题: lombok的使用需要在IDE中提前安装插件!
如果在Linux系统中步数发布,是否需要提前安装插件?

答案: 不用!

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

2. SpringBoot整合Mybatis

2.1 导入数据库

2.1.1 检查数据库是否可用

说明:mysql服务项正常会开机自启动, 但有的时候由于某种原因 会导致数据库服务启动失败.
问题描述: 数据连接报错,连接不可用
1.检查服务项状态
在这里插入图片描述
2.数据库版本:
使用mariadb ,不要使用mysql 5.8版本(版本太高或太低容易出问题)

2.1.2 数据库客户工具-SqlYog…

在这里插入图片描述

2.1.3 数据库的导入和导出

导出数据库: 将mysql的文件义xxx.sql文件进行转储.

导入数据库: 读取xxx.sql文件之后 工具执行其中的sql,最终实现数据的导入.

说明: 上述操作称之为 数据库的冷备份,一般生产环境下 为了保证数据库的安全,会定期冷备份(周期:3-7天).一般1式3份,数据库的冷备份是恢复数据的最后有效的手段

注意: 冷备份容易丢失数据

导出: 右键点击要导出的库
在这里插入图片描述
导入: 右键点击空白处
在这里插入图片描述

2.2 SpringBoot整合Mybatis

2.2.1 创建maven项目

2.2.2 编辑主启动类

package com.jt;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

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

2.2.3 实现类序列化的作用

实现序列化作用: 保证数据传输的文件完整性

package com.jt.pojo;

import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;

@Data
@Accessors(chain = true)
//实体对象的作用: 用来实现参数传递
public class User implements Serializable {//实现序列化作用: 保证数据传输的文件完整性
private Integer id;
private String name;
private Integer age;
private String sex;
}

2.3 整合mybatis

2.3.1 添加jar包

  1. mybatis包

  2. 数据库驱动包

  3. JDBC包

     <!--引入数据库驱动 -->
     <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <scope>runtime</scope>
     </dependency>
    
     <!--springBoot数据库连接  -->
     <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-jdbc</artifactId>
     </dependency>
    
     <!--spring整合mybatis  暂时  -->
     <dependency>
         <groupId>org.mybatis.spring.boot</groupId>
         <artifactId>mybatis-spring-boot-starter</artifactId>
         <version>2.2.0</version>
     </dependency>
    

2.3.2 创建application.yml UserMapper.xml 文件

在这里插入图片描述
核心配置文件 application.yml :

server:
  port: 8090

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
#如果数据库密码以数字0开头 则必须使用""号包裹
#password: "01234"

#SpringBoot整合Mybatis配置
mybatis:
#添加别名包
  type-aliases-package: com.jt.pojo
#  加载映射文件,一个借口对应一个映射文件
  mapper-locations: classpath:/mybatis/*.xml
  #开启驼峰映射
  configuration:
map-underscore-to-camel-case: true

编辑UserMapper接口
在这里插入图片描述

映射文件 UserMapper.xml :

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--namespace必须与UserMapper接口一一对应-->
<mapper namespace="com.jt.mapper.UserMapper">

<!--    id与接口里的方法名一致-->
<select id="getAll" resultType="User">
select * from demo_user
</select>
<!--驼峰命名的规则
表字段:  user_id,user_name
对象的属性: userId,userName
resultType:  保证属性与字段名必须一致
Mybatis 提供驼峰命名规则:
字段名user_id 去除下划线之后再映射属性-->
</mapper>

2.4 测试SpringBoot整合

2.4.1 创建测试类

注意: 要在主启动类同包或子包下.
在这里插入图片描述

package com.jt;

import com.jt.mapper.UserMapper; 	import com.jt.pojo.User; 	import org.junit.jupiter.api.Test; 	import org.springframework.beans.factory.annotation.Autowired; 	import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest 	public class TestSpringBoot {
@Autowired
private UserMapper mapper;
@Test
public void test(){

    List<User> list = mapper.getAll();
    for(User u: list){
        System.out.println(u);
    }
} 	}

**添加@SpringBootTest注解:**表示从Spring容器中可以直接获取对象进行调用.
在这里插入图片描述
依赖注入接口时,需要在启动类上添加 @MapperScan(“com.jt.mapper”) 注解
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值