【Java】SpringBoot高级用法

1 SpringBoot高级用法

1.1 配置文件

1.1.1 properties文件

【Java】SpringBoot高级用法

# 语法

# 1 数据结构:key=value结构

# 2 pro中的属性默认条件都是String类型,不需要添加引导

server.port=80

1.1.2 YML文件

【Java】SpringBoot高级用法

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文件为属性赋值

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

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

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

1.3 LOMBOK插件

【Java】SpringBoot高级用法
添加lombok插件,并添加相应依赖。
【Java】SpringBoot高级用法

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

<optional>true</optional>

</dependency>

如果项目已经建立好了,部分依赖没有添加,可以通过安装EditStarters插件。在pom包中选择该插件,帮助我们选择依赖。
【Java】SpringBoot高级用法
【Java】SpringBoot高级用法

1.4 SpringBoot整合Mybatis

1.4.1 添加依赖

【Java】SpringBoot高级用法

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<User> findAll();

}

1.4.4 配置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 唯一确定Mapper接口的 一定不能重复-->

<mapper namespace="com.jt.dao.UserMapper">

<!--定义别名包 YML中定义,就不需要指定User的具体位置

如果别名找不到则会根据自己定义的来查询, com.jt.pojo.User --> <select id="findAll" resultType="User">

select * from user

</select>

</mapper>

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<User> list = userDao.findAll();

System.out.println(list);

}

}

【Java】SpringBoot高级用法

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包

 <dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus-boot-starter</artifactId>

<version>3.2.0</version>

</dependency><!-- <dependency>-->

<!-- <groupId>org.mybatis.spring.boot</groupId>-->

<!-- <artifactId>mybatis-spring-boot-starter</artifactId>-->

<!-- <version>2.1.4</version>-->

<!-- </dependency>-->

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

2.2.3 编辑POJO对象

【Java】SpringBoot高级用法

2.2.4 Mapper接口继承

【Java】SpringBoot高级用法

2.2.5 修改YML配置

【Java】SpringBoot高级用法
将mybatis改成mybatis-plus

2.2.6 入门案例测试

【Java】SpringBoot高级用法
具体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…)

以上是 【Java】SpringBoot高级用法 的全部内容, 来源链接: utcz.com/a/86426.html

回到顶部