SpringBoot入门:01 – 配置数据源

我们使用 MyBatis 作为 ORM 框架,搭配 MyBatis-Plus 的增强功能,提高开发效率。

下面就来进行必要的一些配置

目录的层级和命名在遵循最佳实践的基础上带有个人习惯带来的不同,这里可以灵活变通。

添加全局配置

默认情况几乎不用配置其他内容,只需要加上 spring.datasource 的必要信息就好:

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/wxbox?useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=false&serverTimezone=GMT%2b8
    username: root
    password:
    driver-class-name: com.mysql.cj.jdbc.Driver

后续如果有其他需要定制化的配置我们再加。

添加数据库

以用户表为例,我们有如下表:

CREATE TABLE `wxbox`.`user`  (
  `id` int(0) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `secret_key` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `expired_at` datetime(0) NULL DEFAULT NULL,
  `created_at` datetime(0) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `username`(`username`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

创建实体类

在项目中创建 model 目录,新建 User.java 文件:

package com.foxescap.wxbox.model;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author imxfly
 */
@Data
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;

    private String username;

    private String secretKey;

    private LocalDateTime expiredAt;

    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdAt;
}

需要注意的是:

• 我们使用 Lombok 依赖提供的 @Data 注解帮我们自动生成实体类中所有字段的通用 Getter、Setter 以及类的 toString 和 Equals 和 HashCode 方法,推荐使用,有效地减少样板代码的便携式。

• 我们使用 MyBatis-Plus 依赖提供的 @TableId 注解指定当前数据表的自增字段,其中类型为 type = IdType.AUTO。

• 我们使用 MyBatis-Plus 依赖提供的 @TableField 注解来帮我们实现自动填充,根据填充规则 fill = FieldFill.INSERT 表示新增记录的时候自动将该字段填充进去(但是需要配置一下,否则依赖不知道要填充什么值)

创建映射

在项目中创建 mapper 目录,新建 UserMapper.java 文件:

package com.foxescap.wxbox.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.foxescap.wxbox.model.User;

/**
 * @author imxfly
 */
public interface UserMapper extends BaseMapper<User> {}

通过继承 MyBatis-Plus 为我们封装好的 BaseMapper 接口,即可使用。

现在我们需要告诉 MyBatis-Plus 项目的映射目录在哪,在项目中创建 config 目录,新建 MyBatisPlusConfig.java 文件:

package com.foxescap.wxbox.config;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;

/**
 * @author imxfly
 */
@Configuration
@MapperScan("com.foxescap.wxbox.mapper")
public class MyBatisPlusConfig {}

在 @MapperScan 注解中配置映射的包路径即可。

参考链接

• mybatis-spring-boot-autoconfigure

• MyBatis-Plus Docs

原文 

https://segmentfault.com/a/1190000023181036

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » SpringBoot入门:01 – 配置数据源

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址