• MyBatis映射配置文件


    动态sql

    if标签,可以指定条件进行判断

    test属性

    等价于SELECT * FROM user WHERE 1=1 AND id=? AND username=? AND password=?;

    foreach标签,用于遍历集合或数组***

    collection属性:collection="list"指定要遍历的集合

    单个参数,类型为list集合。必须写list

    单个参数,类型为数组。必须写array

    要遍历的集合在某个map中,写map的key的名字

    					open="id in("		sql语句字符串开始的部分
    					close=")"		sql语句字符串结束的部分
    					item="id"		任意指定一个遍历出的每个元素的变量名
    					separator=",">		分隔符,用于分割每个元素
    

    等价于SELECT * FROM user WHERE id IN(1,2,3);

    核心配置文件typeHandler

    处理JDBC类型(如varchardate...)和Java类型(String、int...)之间的转换。默认情况下,Mybatis已经自带了很多常见类型的转换器。

    自定义类型处理器步骤

    写一个类继承BaseTypeHandler抽象类,实现其中的方法

    set开头的方法时把Java类型数据转为数据库类型数据放入数据库时使用

    setNonNullParameter(PreparedStatement preparedStatement, int i, Date date, JdbcType jdbcType)当我们的数据库的目标类型和Java中的类型无法处理时,mybatis会自动调用该方法交由我们来处理

    get开头的方法是从数据库中把数据取出,然后封装为Java类型时使用

    getNullableResult(ResultSet resultSet, String s)

    getNullableResult(ResultSet resultSet, int i)

    getNullableResult(CallableStatement callableStatement, int i)

    在核心配置文件中,通过typeHandlers标签配置我们的类型处理器即可。

    plugins

    mybatis本身提供的一种扩展机制,只要符合它的规范,就可以给它添加功能。
    使用第三方的分页插件

    注册插件

    不用改动sql的配置,只要是一个查询语句,都可以由分页插件自动改造成分页查询语句。在查询语句调用之前,使用PageHelper的startPage方法,跟在后面的第一句select语句就自动会变成分页查询。

    分页时,实际返回的结果list类型是Page,如果想取出分页信息,需要强制转换为Page

    public class Page extends ArrayList

  • 相关阅读:
    SQL Server创建复合索引时,复合索引列顺序对查询的性能影响
    SQL 查询性能优化----解决书签查找
    从源码分析 Spring 基于注解的事务
    jQuery最佳实践(不断更新中...)
    Java 8 LongAdders:管理并发计数器的正确方式
    Java中的显示锁 ReentrantLock 和 ReentrantReadWriteLock
    在IE8等不支持placeholder属性的浏览器中模拟placeholder效果
    颠覆式前端UI开发框架:React
    Whitecoin区块链钱包高级功能使用命令
    消息队列使用的四种场景介绍
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/12316916.html
Copyright © 2020-2023  润新知