手记

【九月打卡】第六天 配置数据库逆向生成工具和配置mybatis

课程名称:Spring Cloud 进阶 Alibaba 微服务体系自媒体实战
课程章节: 第2章 架构后端项目
主讲老师: 风间影月

课程内容

当服务构建好了之后,需要去配置对应的数据持久层的有关代码。在学习的项目当中,使用的是Mybatis框架作为数据持久化框架。

在真正开始配置之前,我们需要配置有关的代码生成器,通过代码生成器可以生成有关的实体类以及mapper文件等。

逆向工程

  • 导入逆向工具到项目中

  • 打开老师的mybatis-generator-database项目工程,在工程中配置表相关注解。


  • 配置好数据表并且运行Generator


配置mybatis的基本环境:

  1. imooc-news-dev-model 中放入maven依赖:

<!-- mysql 驱动 -->
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>
<!-- 通用mapper逆向工具 -->
<dependency>
	<groupId>tk.mybatis</groupId>
	<artifactId>mapper-spring-boot-starter</artifactId>
</dependency>
<!--pagehelper -->
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>


2.
imooc-news-dev-service-user 中配置yml

spring:
  datasource:                                         # 数据源的相关配置
    type: com.zaxxer.hikari.HikariDataSource          # 数据源类型:HikariCP
    driver-class-name: com.mysql.jdbc.Driver          # mysql驱动
    url: jdbc:mysql://localhost:3306/imooc-news-dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
    username: root
    password: root
    hikari:
      connection-timeout: 30000       # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQLException, 默认:30秒
      minimum-idle: 5                 # 最小连接数
      maximum-pool-size: 20           # 最大连接数
      auto-commit: true               # 自动提交
      idle-timeout: 600000            # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
      pool-name: DateSourceHikariCP     # 连接池名字
      max-lifetime: 1800000           # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟 1800000ms
      connection-test-query: SELECT 1

```
############################################################
#
# mybatis 配置
#
############################################################
mybatis:
  type-aliases-package: com.imooc.pojo          # 所有POJO类所在包路径
  mapper-locations: classpath:mapper/*.xml      # mapper映射文件


############################################################
#
# mybatis mapper 配置
#
############################################################
# 通用 Mapper 配置
mapper:
  mappers: com.imooc.my.mapper.MyMapper
  not-empty: false    # 在进行数据库操作的的时候,判断表达式 username != null, 是否追加 username != ''
  identity: MYSQL
# 分页插件配置
pagehelper:
  helperDialect: mysql
  supportMethodsArguments: true
```
  1. 添加启动类的扫描注解

// 扫描 mybatis 通用 mapper 所在的包
@MapperScan(basePackages = "com.imooc.user.mapper")
// 扫描所有包以及相关组件包
@ComponentScan("com.imooc")

课程收获

mybatis逆向工程

  • classPathEntry:配置的本地驱动包路径。

  • <propertyname="javaFileEncoding"value="UTF-8"/>:指定生成的java文件的编码方式

  • <propertyname="suppressAllComments"value="true" />:是否去除自动生成的注释;true(是)/false(否)

  • jdbcConnection:数据库连接的信息:驱动类、连接地址、用户名、密码;注意driverClass的值,mysql驱动8版本的带cj包名称

  • javaTypeResolver:默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer;为true时把JDBC DECIMAL和 NUMERIC类型解析为java.math.BigDecimal

  • javaModelGenerator:逆向生成的POJO类的配置;targetPackage(包名称)可以指定,也可以不指定;targetProject(逆向生成的文件保存目录)

  • sqlMapGenerator:逆向生成的xml文件的配置


课程截屏

0人推荐
随时随地看视频
慕课网APP