微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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. 分页示例

        

 

 

 

  

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐