zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    个人博客05
    个人随笔04
    ELK-Kibana汉化
    Centos7下使用mail发送邮件
    使用Docker搭建Tomcat运行环境
    Jenkins添加maven插件
    linux下安装nodejs及npm
    服务器重启后Jenkins项目部分丢失问题解决方法
    【linux】如何查看文件的创建、修改时间
    禅道
  • 原文地址:https://www.cnblogs.com/maomaodesu/p/12316916.html
Copyright © 2011-2022 走看看