Spring.Day14.MyBatis核心配置文件

01. TypeHandlers 标签

  >> 主要作用: 实现 Java数据类型 与  数据库数据类型 之间的转换; 

  >> 默认的处理类型

    

 

  >> 可以通过 重写类型处理器, 或 创建自己的类型处理器 来处理不支持的或非标准备的类型;

    > 实现 org.apache.ibatis.type.TypeHandler 接口 ;

    > 或继承 org.apache.ibatis.type.BaseTypeHandler ;

    之后可以选择性的将它映射到一个jdbc类型;

    * 如在处理Date 数据类型时,可以在数据库中存储为毫秒值;

  >> 开发步骤 

    > 定义转换类, 继承 BaseTypeHandler<T>

    > 覆盖4个方法' 

      * setNonNullParameter :将java数据类型,转换为 数据库类型

      * getNullableResult :查询数据时,将数据库类型转换为java数据类型;

    > 在 MyBatis 核心配置文件中进行注册

    > 测试

   >> 数据类型转换处理器类的编写内容如下

    

 

   >> 在核心配置文件中,注册转换器

    

 

 02. Plugins 标签

  >> 在 MyBatis 中,可以使用第三方的插件来对功能进行扩展,分页助手 PageHelper 是将分页的复杂操作进行封装,使用简单的方式即可获取到分页的相关数据;

  >> 开发步骤

    1. 导入相关坐标

      

 

     2. 在mybatis 核心配置文件中配置 PageHelper 插件;

      

      3. 测试 (按课程中上述配置,将出现如下问题)

        a. 类型转换失败问题:  java.lang.ClassCastException: com.github.pagehelper.PageHelper cannot be cast to org.apache.ibatis.plugin.Interceptor

       >> 解决: 高版本的 pagehelper 在配置插件时,配置的是  PageInterceptor ,且可自动识别连接的数据库

        

 

      b. 方法匹配失败问题:java.lang.NoSuchMethodError: net.sf.jsqlparser.statement.select.PlainSelect.getGroupByColumnReferences()Ljava/util/List;

 

          >> 经百度:说是 jsqlparser 的版本匹配问题,经测试,超过 1.4版本的,好像都失败;修改依赖包为 1.4 后正常

        

 

      c. 分页示例

        

 

 

 

  

 

posted @ 2022-04-20 09:53  耗喜天涯  阅读(57)  评论(0编辑  收藏  举报