ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] # 简介 * cache: 命名空间的二级缓存配置 * cache-ref: 其他命名空间缓存配置的引用 * resultMap: 自定义结果集映射 * parameterMap: 已废弃,老式风格的参数映射 * sql: 抽取可重用语句块 * insert/update/delete/select # insert/update/delete元素 * id:命名空间唯一标识符 * parameterType: 将要传入语句的参数往前限定类名或别名.这个属性是可选的,因为mybatis可以通过TypeHandler推断出具体传入语句的参数类型,默认值为unset * flushCache: 将其设置为true,任何时候只要语句被调用,都会导致本地缓存和二级缓存被清空,默认为true(对应insert/update/delete) * timeout: 这个设置是在抛出异常之前,驱动程序等待数据库返回请求结果的秒数.默认值为unset(依赖驱动) * statementType: STATEMENT,PREPARED或CALLABLE的一个.这会让mybatis分别使用Statement,PreparedStatement或CallableStatement,默认值: PREPARED * useGeneratedKeys: (仅对insert/update有用).这会令mybatis使用jdbc的getGeneratedKeys方法取出由数据库内部生成的主键(比如:像mysql和sqlserver这样的关系数据库管理系统的自动递增字段),默认值为false * keyProperty: (仅对insert/update有用)唯一标记一个属性.mybatis会通过getGeneratedKeys的返回值或者通过insert语句的selectKey子元素设置它的键值,默认:unset * keyColumn: (仅对insert和update有用),通过生成的键值设置表中的列名,这个设置仅在某些数据库(像pgsql)是必须的,当主键列不是表中的第一列的时候需要设置.如果希望得到多个生成的列,也可以是逗号分割的属性名称列表 * databaseId: 如果配置了databaseIdProvider,mybatis会加载所有的不带databaseId或匹配当前databaseId的语句.如果带或者不带的语句都有,则不带的被忽略 # select元素 * parameterType: 将会传入这条语句的参数类的完全限定名或别名.这个属性是可选的,因为mybatis可以通过TypeHandler推断出具体传入语句的参数,默认值为unset * resultType: 从这条语句中返回的期望类型的类完全限定名或别名.注意如果是集合,那应该是集合可以包含的类型,而不能是集合本身.**该属性和resultMap不能同时使用** * resultMap: 外部resultMap的命名引用,**和resultType属性不能同时使用** * flushCache: 将其设置为true, 任何时候只要语句被调用,都会导致本地缓存和二级缓存都会被清空,默认false * useCache:设置true,将会导致本条语句的结果被二级缓存,默认值: 对select元素为true * timeout: 这个设置是在抛出异常前,驱动程序等待数据库返回请求结果的秒数.默认值为unset(依赖驱动) * fetchSize: 影响驱动程序每次批量返回的结果行数.默认值为unset(依赖驱动) * statementType: STATEMENT,PREPARED或CALLABLE的一个.这会让mybatis分别使用Statement,PreparedStatement或CallableStatement,默认值: PREPARED * resultSetType: `FORWARD_ONLY, SCROLL_SENSITIVE或SCROLL_INSENSITIVE`中的一个,默认值为unset(依赖驱动) * databaseId: 如果配置了databaseIdProvider,mybatis会加载所有的不带databaseId或匹配当前databaseId的语句.如果带或者不带的语句都有,则不带的被忽略 * resultOrdered: 这个设置仅仅针对嵌套结果select语句适用.如果为true,就假设包含了嵌套结果集或者是分组,这样当返回一个主结果行,就不会发生有对前面结果集引用的情.这就使得在获取嵌套结果集的时候不至于导致内存不够用.默认值为false * resultSets: 这个设置仅对多结果集的情况适用,它将列出语句执行后返回的结果集并每个结果集给一个名称,名称是逗号分割的