01. TypeHandlers 标签
>> 主要作用: 实现 Java数据类型 与 数据库数据类型 之间的转换;
>> 默认的处理类型
>> 可以通过 重写类型处理器, 或 创建自己的类型处理器 来处理不支持的或非标准备的类型;
> 实现 org.apache.ibatis.type.TypeHandler 接口 ;
> 或继承 org.apache.ibatis.type.BaseTypeHandler ;
之后可以选择性的将它映射到一个jdbc类型;
* 如在处理Date 数据类型时,可以在数据库中存储为毫秒值;
>> 开发步骤
> 定义转换类, 继承 BaseTypeHandler<T>
> 覆盖4个方法'
* setNonNullParameter :将java数据类型,转换为 数据库类型
* getNullableResult :查询数据时,将数据库类型转换为java数据类型;
> 测试
>> 数据类型转换处理器类的编写内容如下
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] 举报,一经查实,本站将立刻删除。