栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

16:第二章:架构后端项目:12:配置mybatis;(在【imooc-news-dev-service-user】这个微服务子工程上,配置)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

16:第二章:架构后端项目:12:配置mybatis;(在【imooc-news-dev-service-user】这个微服务子工程上,配置)

说明:

(1)本篇博客合理性说明:
          ● 我们在【15:第二章:架构后端项目:11:使用【mybatis-generator-core】依赖生成实体类、mapper接口、mapper.xml等逆向文件;(我们使用tkmybatis来帮助提升开发效率)】中,创建了针对user的实体类、mapper接口、mapper.xml;;;而且,也介绍了,我们创建好这些实体类、mapper接口、mapper.xml之后,应该把其放在什么位置;

          ● 本篇博客,首先就先把实体类、mapper接口、mapper.xml放在其应该处于的位置;然后,再在【imooc-news-dev-service-user】这个会实际操作数据库的微服务子工程上,进行配置mybatis;

(2)本篇博客内容,虽然比较复杂,但其内容具有很强的可复制性;以后可以随时回来照猫画虎;

目录

一:把创建好的【实体类、mapper接口、mapper.xml】,copy到其应该在的位置;

1.把pojo实体类,放到【model】中;

2.把我们创建的(继承了Mapper接口的)MyMapper接口,放到【api】中; 

3.把mapper接口、mapper.xml,放到【user】中;

二:在【imooc-news-dev-service-user】这个微服务子工程上,配置mybatis;

1.依赖说明;

2.在application.yml中配置数据库、mybatis;

3. 在主启动类上,使用@MapperScan去配置Mapper接口位置;使用@ComponentScan去设置IoC容器初始化时扫描的范围;

4.测试;


一:把创建好的【实体类、mapper接口、mapper.xml】,copy到其应该在的位置;

PS:对于这儿,为什么放到的那些位置,如果不明白可以参考上篇博客【15:第二章:架构后端项目:11】;

1.把pojo实体类,放到【model】中;

(1)首先,在【imooc-news-dev-model】子工程中,引入MySQL驱动、mybatis、tkmybatis、PageHelper;

        
            mysql
            mysql-connector-java
        
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
        
        
        
            tk.mybatis
            mapper-spring-boot-starter
        

        
            com.github.pagehelper
            pagehelper-spring-boot-starter
        

(2)然后,在【imooc-news-dev-model】子工程中创建对应的包,并把我们创建的pojo实体类,copy过去;

2.把我们创建的(继承了Mapper接口的)MyMapper接口,放到【api】中; 

3.把mapper接口、mapper.xml,放到【user】中;

创建对应的包,并copy过去;


二:在【imooc-news-dev-service-user】这个微服务子工程上,配置mybatis;

1.依赖说明;

2.在application.yml中配置数据库、mybatis;
############################################################
#
# 用户微服务
# web访问端口号  约定:8003
#
############################################################
server:
#  port: 8003
  tomcat:
    uri-encoding: UTF-8
    max-swallow-size: -1  # tomcat默认大小2M,超过2M的文件不会被捕获,需要调整此处大小为100MB或者-1即可

############################################################
#
# 配置项目信息
#
############################################################
spring:
  profiles:
    active: dev    # yml中“配置文件”的环境配置,dev表示开发环境,test表示测试环境,prod表示生产环境;
  application:
    name: service-user
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
  datasource:                                         # 数据源的相关配置
    type: com.zaxxer.hikari.HikariDataSource          # 数据源类型:HikariCP
    driver-class-name: com.mysql.jdbc.Driver          # mysql驱动
    url: jdbc:mysql://localhost:3308/imooc-news-dev?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
    username: root
    password: 3**********9
    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  # 方言,使用的是MySQL
# 分页插件配置
pagehelper:
  helperDialect: mysql
  supportMethodsArguments: true


说明:

(1)我们此次配置了哪些内容?

(2)我们这儿数据库连接池使用的是HikariCP连接池;

          ● 有关数据库连接池的常识性内容,如有需要可以参考【(9)JDBC入门】中的内容;

          ● Spring Boot2推荐使用HikariCP连接池;其是一个非常快的数据源;有关HikariCP连接池的内容,可以参考【附加:HikariCP连接池简述;(并没有深究,只是对HikariCP连接池有个基本认识)】;

(3)配置mybatis的相关内容;

3. 在主启动类上,使用@MapperScan去配置Mapper接口位置;使用@ComponentScan去设置IoC容器初始化时扫描的范围;

说明:

(1)有关@MapperScan,如有需要可以参考【Spring Boot电商项目9:数据库设计与项目初始化四:在配置文件中,配置数据库、配置Mapper.xml位置;在主程序处通过@MapperScan配置Mapper接口位置;第一次全流程演示;】 ;

(2)按理说,对于Spring Boot项目,有了SpringBootApplication是可以不用再使用@ComponentScan的;;;自己在【(19)Spring Boot电商项目】这个项目中,就没有使用;;;;但是,虽然默认可以不用加。但是一般项目会加其他一些自定义的包,所以可以用于指定噢~

          ● 有关@ComponentScan,如有需要可以参考【Spring IoC容器与Bean管理25:使用Java Config方式实现Spring IoC一:对象实例化;(@Configuration,@Bean)】;

4.测试;

(1)先全局install一下整个项目;

(2)然后,运行【imooc-news-dev-service-user】的主启动类;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/991788.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号