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

Mybatis学习日记4(mybatis的核心文件深入)

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

Mybatis学习日记4(mybatis的核心文件深入)

typeHandlers标签

你可以重写类型处理器或创建你自己的类型处理器来处理不支持的或非标准的类型。具体做法为:实现 org.apache.ibatis.type.TypeHandler 接口, 或继承一个很便利的类 org.apache.ibatis.type.baseTypeHandler, 然后可以选择性地将它映射到一个JDBC类型。例如需求:一个Java中的Date数据类型,我想将之存到数据库的时候存成一个1970年至今的毫秒数,取出来时转换成java的Date,即java的Date与数据库的varchar毫秒值之间转换。

自定义类型转换步骤:

定义转换类继承类baseTypeHandler

覆盖4个未实现的方法,其中setNonNullParameter为java程序设置数据到数据库的回调方法,getNullableResult为查询时 mysql的字符串类型转换成 java的Type类型的方法

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

测试转换是否正确 

 定义转换类继承类baseTypeHandler

public class DateTypeHandler extends baseTypeHandler {
    @Override
//    将Java类型转换成数据库需要的类型
//    int参数 字段索引
    public void setNonNullParameter(PreparedStatement preparedStatement, int i, Date date, JdbcType jdbcType) throws SQLException {
        long time = date.getTime();
        preparedStatement.setLong(i,time);
    }
//将数据库中的类型转换成Java类型
    @Override
//    String参数 要转换的字段名称
//    ResultSet参数 结果集
    public Date getNullableResult(ResultSet resultSet, String s) throws SQLException {
        long aLong = resultSet.getLong(s);
        Date date = new Date(aLong);
        return date;
    }
    //将数据库中的类型转换成Java类型
    @Override
    public Date getNullableResult(ResultSet resultSet, int i) throws SQLException {
        long aLong = resultSet.getLong(i);
        Date date = new Date(aLong);
        return date;
    }
    //将数据库中的类型转换成Java类型
    @Override
    public Date getNullableResult(CallableStatement callableStatement, int i) throws SQLException {
        long aLong = callableStatement.getLong(i);
        Date date = new Date(aLong);
        return date;
    }
}

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

  
    
        
    
 plugins标签

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

开发步骤:

导入通用PageHelper的坐标

在mybatis核心配置文件中配置PageHelper插件

测试分页数据获取

 导入通用PageHelper的坐标

    
      com.github.pagehelper
      pagehelper
      3.7.5
    
    
      com.github.jsqlparser
      jsqlparser
      0.9.1
    

在mybatis核心配置文件中配置PageHelper插件

 
        
            
            
        
    

测试分页数据获取

//        分页
        PageHelper.startPage(1,2);
        List all = mapper.findAll();

        for (User user : all) {
            System.out.println(user);
        }

 

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

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

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