基于Mybatis的mysql数据实战——第二课

DBC 1.4K 0

一、Mybatis+SpringBoot整合方式

先添加pom文件,自己看需要什么

点击查看完整内容

使用idea工具将properties转成yml

在plugin marketplace搜索Properties to YAML Converter工具
基于Mybatis的mysql数据实战——第二课插图

具体如何使用:

基于Mybatis的mysql数据实战——第二课插图2

使用自动plugin插件自动生成sql xml文件配置

点击查看完整内容

二、Mybatis Gennerator的使用

  • 定义:MyBatis Generator 是 MyBatis 提供的一个代码生成工具。可以帮我们生成表对应的持久化对象(po)、操作数据库的接口(dao)、CRUD sql的xml(mapper)
  • 自动生成增删改查SQL
  • 配置项
    • 配置context,id : 随便填,保证多个 context id 不重复就行
    • jdbcConnection:MyBatis Generator 需要链接数据库,所以需要配置jdbcConnection
    • javaTypeResolver:javaTypeResolver 是配置 JDBC 与 java 的类型转换规则,或者你也可以不用配置,使用它默认的转换规则
    • sqlMapGenerator:xml生成的目录
    • javaClientGenerator:java代码生成的目录
  • 配置样例

基于Mybatis的mysql数据实战——第二课插图4

点击查看完整内容

点击这个位置,自动生成,改什么位置看起来很清晰

基于Mybatis的mysql数据实战——第二课插图6

温馨提示

这里可能会遇到一个问题,突然idea抽风,然后找不到meven了,博主这里也不知道发生了什么情况导致的,如果发生了,自己也没有meven,那么和博主一样直接放到默认位置就好了

[ERROR] Error executing Maven.

2年前 (2021-10-30) 0
基于Mybatis的mysql数据实战——第二课插图8

三、基于Mybatis自定义SQL

  • 新建mappes.xdclass.custom包用于存储自定义XML定义信息
    • 指定resultMap和返回列sql
  • 新建mapper.custom用于存储自定义mapper接口
    • 加入@Mapper接口
  • 进行自定义mapper查询接口测试案例
温馨提示

上面是简单流程,接下来我们看实际一点的

基于Mybatis的mysql数据实战——第二课插图10

第一步:创建接口interface

点击查看完整内容

第二步:编写自定义xml

点击查看完整内容

测试一下

点击查看完整内容
温馨提示

懂哥都应该知道,直接写在controller是不规范的,我们一样写在impl中(还有一个service层),这里为了省时间就不写了,懂的都懂。

四、Mybatis Executor执行过程解析

  • 基于Mybatis的mysql数据实战——第二课插图12
  • 解读源码的学习习惯
    • 理论先行。阅读某一个模块时,先搜索它的理论支撑
    • 巧用调试。关于IDEA中debug的使用方式
    • 业务为先。如果一个类太过庞大,则先将其中的方法按功能归类,捋清大致的执行流程,接下来再逐个功能地去攻克
    • 不求甚解。有些方法不需要搞清楚实现过程,只需要了解它的作用

五、高级面试题之Mybatis自定义拦截器

  • 拦截器作用:拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法
  • 对于实现自己的 Interceptor 而言有两个很重要的注解,一个是 @Intercepts,其值是一个@Signature 数组。@Intercepts 用于表明当前的对象是一个 Interceptor,而 @Signature则表明要拦截的接口、方法以及对应的参数类型
  • @Signature 的参数:
    • type:要拦截的接口
    • method:需要拦截的方法,存在于要拦截的接口之中
    • args:被拦截的方法所需要的参数
  • 步骤:
    • 实现org.apache.ibatis.plugin.Interceptor
    • 重载intercept方法实现逻辑
    • 将拦截器注入到config配置中

实战演示:

第一步:实现QueryInterceptor

点击查看完整内容

注入

点击查看完整内容

点击查看完整内容

成功实现如下图

基于Mybatis的mysql数据实战——第二课插图14
基于Mybatis的mysql数据实战——第二课插图16

发表评论 取消回复
表情 图片 链接 代码

分享