SpringBoot整合yml

10 篇文章 0 订阅
1 篇文章 0 订阅

.properties这个配置文件比.yml配置文件冗余,用yml文件会显得更加整洁美观

两个配置文件语法对比

具体写法如下

首先创建一个后缀.yml的文件

##定义自己的配置文件 不要直接定义字段,这样不好,在配置字段前面可以加上团队名称或者框架名称
## xyt:团队名称,userName/age字段名  注意每个层级之间的缩进,
##冒号(:)后面一定要跟个空格,正确的语法是 定义的字段颜色是深蓝色的,后面的值是灰色的。
xyt:
  userName: 菜鸟学习Springboot的第N天
  age: 22

创建一个类读取自己在配置文件定义的字段


import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserController {

    @Value("${xyt.userName}")//@Value读取配置文件的字段,xyt:团队名称或者框架名称,userName配置文件的字段名
    private String userName;

    @Value("${xyt.age}")
    private String age;


    @RequestMapping("/getValue")
    public String getValue() {
        return userName + ",年龄:" + age;
    }
}

多环境配置文件

例子:

公司的配置文件都是分类

  • dve本地开发环境
  • test服务器测试环境
  • pre预生产环境
  • prod正式生产环境

application-dve.yml

##本地开发环境
xyt:
  userName: 本地开发环境
  url: dve.xyt.com

application-test.yml

##测试环境配置
xyt:
  userName: 测试环境
  url: test.xyt.com

application-pre.yml

##预生产环境配置
xyt:
  userName: 预生产环境
  url: pre.xyt.com

application-prod.yml

##正式环境
xyt:
  userName: 正式环境
  url: prod.xyt.com

读取配置文件的信息


@RestController
public class IndexController {

    @Value("${xyt.userName}")//xyt.userName  配置文件里:xyt+userName
    private String userName;

    @Value("${xyt.url}")
    private String url;

    @RequestMapping("/getUrl")
    public String gerUrl() {

        return userName + ":" + url;
    }
}

启动代码:

package com.xyt.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class AppSpringBootMybatis {
    public static void main(String[] args) {
        SpringApplication.run(AppSpringBootMybatis.class, args);
    }
}

启动结果

### 回答1: 这个问题是关于如何整合SpringBoot和MyBatis的yml配置文件。答案如下: 在SpringBoot项目,要整合MyBatis需要引入mybatis-spring-boot-starter依赖包,然后在application.yml配置数据源和MyBatis相关的配置信息。例如: spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test?useSSL=false username: root password: 123456 mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.example.entity 其,datasource部分是配置数据源的信息,可以根据自己的环境修改;mybatis部分是配置MyBatis的信息,包括mapper文件位置和实体类的包名。如果使用注解方式进行映射,也可以不配置mapper文件位置。 这样就完成了SpringBoot和MyBatis的整合配置。 ### 回答2: Spring Boot 是构建 Java 应用程序的快速和易用的工具。MyBatis 是一个支持自定义 SQL 查询和批量操作的全功能 ORM(对象关系映射)框架。这两个框架的整合,可以让开发人员更加高效地开发出高质量的应用程序。 在 Spring Boot 整合 MyBatis,需要在 pom.xml 添加 MyBatis 和 MyBatis-Spring 的依赖。接着,在 application.yml 或 application.properties 文件配置 MyBatis 的数据源信息以及 MyBatis 的 SQL 映射文件的位置。下面是一个例子: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/test username: root password: example driver-class-name: com.mysql.jdbc.Driver mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.example.domain ``` 在这个例子,我们使用 MySQL 数据库,并配置了数据源的 URL、用户名、密码和驱动程序的全限定名。同时,我们也指定了 SQL 映射文件所在的位置和实体类所在的包名。 由于采用了 Spring Boot,我们可以利用自动配置来实现 MyBatis 的自动配置。因此,我们不需要手动创建 MyBatis 的 SqlSessionFactory,而是可以直接在代码使用 @Mapper 注解来标记接口,并通过 @Autowired 自动注入 Mapper 接口对象。这些接口对象将自动代理为具有相应名称的 MyBatis 映射器。 在代码使用 MyBatis 的配置方式与 Spring Boot 的默认配置方式非常相似。我们只需编写一个 Mapper 接口并对其进行注解,即可使用自动配置和 MyBatis 映射器来查询数据库。 综上所述,Spring Boot 的自动配置使得集成 MyBatis 非常容易。我们只需要在 application.yml 或 application.properties 文件添加必要的配置信息,就可以轻松地使用 MyBatis 来访问数据库。 ### 回答3: SpringBoot是一个基于Spring框架的快速开发应用程序的框架,它可以帮助我们轻松地构建基于Java语言的Web应用程序。而MyBatis则是一种流行的数据库访问框架,它可以帮助我们高效地将Java对象映射到数据库,从而简化数据访问过程。 在Spring Boot整合MyBatis非常简单,我们只需添加相应的依赖,并配置相关的数据源和Mapper即可。下面我们将介绍如何在Spring Boot整合MyBatis,并使用YAML配置文件来进行配置。 1. 添加依赖 首先,我们需要添加Spring Boot和MyBatis的相应依赖。我们可以在Maven或Gradle的配置文件添加以下依赖: Maven依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> ``` Gradle依赖: ``` dependencies { compile('org.springframework.boot:spring-boot-starter-jdbc') compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2') } ``` 2. 配置数据源 接下来,我们需要在application.yml或application.properties配置文件配置数据源。这里我们以application.yml为例: ``` spring: datasource: url: jdbc:mysql://localhost:3306/db_example username: user password: pass driver-class-name: com.mysql.jdbc.Driver ``` 其,url,username和password是必要的配置项,它们分别表示数据库连接字符串、用户名和密码。driver-class-name则表示数据库驱动的类名。在这里我们使用的是MySQL数据库,所以选择了MySQL JDBC驱动。 3. 配置Mapper 配置Mapper的方式有两种,一种是在XML配置文件手动映射Java对象和数据库表,另一种是使用注解方式自动映射。下面我们介绍XML配置方式: 首先,在src/main/resources目录下创建一个Mapper配置文件,例如UserMapper.xml。在其定义相应的SQL语句,例如: ``` <?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"> <mapper namespace="com.example.mapper.UserMapper"> <resultMap id="userMap" type="com.example.entity.User"> <id column="id" property="id" jdbcType="BIGINT"/> <result column="username" property="username" jdbcType="VARCHAR"/> <result column="password" property="password" jdbcType="VARCHAR"/> <result column="created_at" property="createdAt" jdbcType="TIMESTAMP"/> <result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP"/> </resultMap> <select id="findUserById" resultMap="userMap"> SELECT * FROM users WHERE id = #{id} </select> <insert id="addUser" parameterType="com.example.entity.User"> INSERT INTO users(username, password, created_at, updated_at) VALUES(#{username}, #{password}, #{createdAt}, #{updatedAt}) </insert> </mapper> ``` 这里我们定义了两个SQL语句,分别是查询用户和添加用户。id和parameterType属性分别指定了传入参数的类型和返回类型。 然后,在Mapper接口定义相应的方法,例如: ``` public interface UserMapper { @Select("SELECT * FROM users WHERE id = #{id}") User findUserById(@Param("id") Long id); @Insert("INSERT INTO users(username, password, created_at, updated_at) " + "VALUES(#{username}, #{password}, #{createdAt}, #{updatedAt})") int addUser(User user); } ``` 这里我们使用注解的方式来配置SQL语句。@Select注解表示查询语句,@Insert注解表示添加语句。@Param注解表示传入参数的名称,与SQL语句的占位符一一对应。 最后,在Spring Boot的启动类上面添加@MapperScan注解,用于扫描Mapper接口的包路径,例如: ``` @SpringBootApplication @MapperScan("com.example.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 这里我们使用@MapperScan注解来扫描Mapper接口所在的包路径,这样Spring Boot就能够自动将Mapper接口转换成MyBatis的Mapper代理对象,从而实现自动映射。 总结: 以上是本人对于springboot整合mybatis的Yaml的总结,详细地介绍了在Spring Boot整合MyBatis,并使用YAML配置文件来进行配置的具体方法,希望能够帮助到大家。springboot整合mybatis结合了springboot和mybatis的优势,在实际生产环境得以应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值