SpringBoot高级用法

1 SpringBoot高级用法

1.1 配置文件

1.1.1 properties文件

image.png

# 语法
#   1 数据结构:key=value结构
#   2 pro中的属性默认条件都是String类型,不需要添加引导
server.port=80

1.1.2 YML文件

image.png

1.2 为属性赋值

1.2.1

@RestController
public class RedisController {
    private String host = "127.0.0.1";
 private int port = 80;
 @RequestMapping("/getNode")
    public String getNode(){
        return host+":t"+port;
 }
}

通过java文件为属性赋值,但耦合性比较强,一旦属性需要修改时就比较麻烦。

1.2.2 通过YML文件为属性赋值

image.png
当程序启动时,会自动加载YML文件,将数据保存到Spring内部,之后通过${key}(spel表达式)进行数据获取,一般用于数据量比较少时

1.2.3 指定配置文件为属性赋值

image.png
先定义properties文件,再通过注解@PropertySource("classpath:/properties/redis.properties")进行配置,并指定路径;然后用spel表达式取值。(当YML和properties为相同属性赋值时,一般YML文件优先级较高。)

1.3 LOMBOK插件

image.png


 org.projectlombok
 lombok
 true

如果项目已经建立好了,部分依赖没有添加,可以通过安装EditStarters插件。在pom包中选择该插件,帮助我们选择依赖。
image.png

1.4 SpringBoot整合Mybatis

1.4.1 添加依赖

image.png

1.4.2 YML文件配置

server:
  port: 80
 servlet:
    context-path: /   #项目根目录发布
spring:
  datasource:
 url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root
mybatis:
  #当配置文件的返回值类型找不到时,会通过该路径继续查询
 type-aliases-package: com.jt.pojo
  #指定配置映射文件(Mapper)的位置
 mapper-locations: classpath:/mybatis/mappers/*.xml
  #开启驼峰映射
 configuration:
    #当数据库表中出现user_id等字段时,会自动转换为驼峰规则的userId。
 #注意:一旦实现驼峰映射,就必须按照其规则执行(两边的字段保持驼峰规则)
 map-underscore-to-camel-case: true

1.4.3 构建pojo对象

package com.jt.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {
    private static final long serialVersionUID = -5137144666323451167L;
 private Integer id;
 private String name;
 private Integer age;
 private String sex;
}

1.4.4 构建dao接口

package com.jt.dao;
import com.jt.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface UserDao {
    List findAll();
}

1.4.4 配置xml映射文件





  

xml文件配置可参考官网:https://mybatis.org/mybatis-3...

1.4.5 测试

package com.jt.user;
import com.jt.dao.UserDao;
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 UserTests {
 @Autowired
 private UserDao userDao;
 @Test
 void testUser(){
        List list = userDao.findAll();
        System.out.println(list);
 }
}

image.png

2 MybatisPlus

2.1 ORM思想

对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据转换。(用于连接不同模块之间的桥梁。eg:数据库模块通过映射文件'mybatis'实现与数据库会话)
核心:以对象的方式操作数据库

2.2 MybatisPlus介绍

2.2.1 介绍

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

2.2.2 引入jar包

 
 com.baomidou
 mybatis-plus-boot-starter
 3.2.0
 



由于MybatisPlus是Mybatis的增强。在引入该包时要去掉Mybatis的jar包,以免出现冲突。

2.2.3 编辑POJO对象

image.png

2.2.4 Mapper接口继承

image.png

2.2.5 修改YML配置

image.png
将mybatis改成mybatis-plus

2.2.6 入门案例测试

image.png
具体API用法参考官网,只能作用于单表。

2.3MybatisPlus工作原理

ORM: 以对象的方式操作数据表
Sql:

  1. 数据库只能识别Sql语句. 不能识别对象
  2. 如果每天都写特别简单的Sql 没有任何价值.

核心原理:

  1. 利用注解去标识对象与表的映射关系 @TableName(“表名称”) 字段与属性的映射
  2. 将公共的接口方法进行抽取,抽取到公共接口中,如果需要使用只需继承即可. 注意事项:泛型问题
  3. 操作对象时需要有专门的API实现对象与Sql的转化.最终交给Mybatis去执行.

例子: userMapper.insert(user对象)
Sql : insert into 表名(字段1,字段2,字段3…) values(值1,值2,值3…)

你可能感兴趣的