【Java】SpringBoot高级用法
1 SpringBoot高级用法
1.1 配置文件
1.1.1 properties文件
# 语法# 1 数据结构:key=value结构
# 2 pro中的属性默认条件都是String类型,不需要添加引导
server.port=80
1.1.2 YML文件
1.2 为属性赋值
1.2.1
@RestControllerpublic 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文件为属性赋值
当程序启动时,会自动加载YML文件,将数据保存到Spring内部,之后通过${key}(spel表达式)进行数据获取,一般用于数据量比较少时
1.2.3 指定配置文件为属性赋值
先定义properties文件,再通过注解@PropertySource("classpath:/properties/redis.properties")进行配置,并指定路径;然后用spel表达式取值。(当YML和properties为相同属性赋值时,一般YML文件优先级较高。)
1.3 LOMBOK插件
添加lombok插件,并添加相应依赖。
<dependency><groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
如果项目已经建立好了,部分依赖没有添加,可以通过安装EditStarters插件。在pom包中选择该插件,帮助我们选择依赖。
1.4 SpringBoot整合Mybatis
1.4.1 添加依赖
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);
}
}
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对象
2.2.4 Mapper接口继承
2.2.5 修改YML配置
将mybatis改成mybatis-plus
2.2.6 入门案例测试
具体API用法参考官网,只能作用于单表。
2.3MybatisPlus工作原理
ORM: 以对象的方式操作数据表
Sql:
- 数据库只能识别Sql语句. 不能识别对象
- 如果每天都写特别简单的Sql 没有任何价值.
核心原理:
- 利用注解去标识对象与表的映射关系 @TableName(“表名称”) 字段与属性的映射
- 将公共的接口方法进行抽取,抽取到公共接口中,如果需要使用只需继承即可. 注意事项:泛型问题
- 操作对象时需要有专门的API实现对象与Sql的转化.最终交给Mybatis去执行.
例子: userMapper.insert(user对象)
Sql : insert into 表名(字段1,字段2,字段3…) values(值1,值2,值3…)
以上是 【Java】SpringBoot高级用法 的全部内容, 来源链接: utcz.com/a/86426.html