当前位置: 首页 > news >正文

MyBatis-day2

Properties 属性:

如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载:

  • 在 properties 元素体内指定的属性首先被读取。
  • 然后根据 properties 元素中的 resource 属性读取类路径下属性文件或根据 url 属性指定的路径读取属性文件,并覆盖已读取的同名属性。
  • 最后读取作为方法参数传递的属性,并覆盖已读取的同名属性。

因此,通过方法参数传递的属性具有最高优先级,resource/url 属性中指定的配置文件次之,最低优先级的是 properties 属性中指定的属性。

用占位符指定默认值:

<dataSource type="POOLED">//config.properties 中 <!-- ... --> <property name="username" value="${username:ut_user}"/> <!-- If 'username' property not present, username become 'ut_user' --> </dataSource>

<properties resource="org/mybatis/example/config.properties">//从外部引用 config.properties,使默认值生效 <!-- ... --> <property name="org.apache.ibatis.parsing.PropertyParser.enable-default-value" value="true"/> <!-- Enable this feature --> </properties>

Setting属性:
<settings>
  <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="true"/> //延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态 <setting name="multipleResultSetsEnabled" value="true"/> //是否允许单一语句返回多结果集(需要兼容驱动)。 <setting name="useColumnLabel" value="true"/> <setting name="useGeneratedKeys" value="false"/> <setting name="autoMappingBehavior" value="PARTIAL"/> <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/> <setting name="defaultExecutorType" value="SIMPLE"/>  <setting name="defaultStatementTimeout" value="25"/> <setting name="defaultFetchSize" value="100"/> <setting name="safeRowBoundsEnabled" value="false"/> <setting name="mapUnderscoreToCamelCase" value="false"/> <setting name="localCacheScope" value="SESSION"/> <setting name="jdbcTypeForNull" value="OTHER"/>//当没有为参数提供特定的 JDBC 类型时,为空值指定 JDBC 类型。 某些驱动需要指定列的 JDBC 类型,多数情况直接用一般类型即可,比如 NULL、VARCHAR 或 OTHER。 <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/> </settings>

typeAliases

类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余.

<typeAliases>
  <typeAlias alias="Author" type="domain.blog.Author"/> </typeAliases>

typeHandlers

无论是 MyBatis 在预处理语句(PreparedStatement)中设置一个参数时,还是从结果集中取出一个值时, 都会用类型处理器将获取的值以合适的方式转换成 Java 类型。下表描述了一些默认的类型处理器。

 



转载于:https://www.cnblogs.com/ymwWaterloo/p/7749914.html

相关文章:

  • 入坑tensorflow
  • 获取class文件对象的三种方法
  • ALPHA-3
  • 关于Vue.js
  • mybatis(错误一) 项目启动时报“Result Maps collection already contains value forxxx”的解决方案...
  • Oracle分区表常见操作
  • shell设置时间递减脚本
  • linux网络流控-htb算法简析
  • Xpath语法
  • Java 基础知识
  • javaWeb中怎么获取提交表单里面的值
  • 阿里、腾讯、百度、华为、京东、搜狗和滴滴最新面试题汇集【转】
  • 《C程序设计语言》笔记 (二)类型运算符与表达式
  • 怎么在页面中引入外部模板
  • django--权限管理day1
  • Angularjs之国际化
  • centos安装java运行环境jdk+tomcat
  • git 常用命令
  • JavaScript新鲜事·第5期
  • java多线程
  • JDK 6和JDK 7中的substring()方法
  • leetcode-27. Remove Element
  • Map集合、散列表、红黑树介绍
  • MySQL数据库运维之数据恢复
  • 如何优雅地使用 Sublime Text
  • 想使用 MongoDB ,你应该了解这8个方面!
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • (+4)2.2UML建模图
  • (07)Hive——窗口函数详解
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (南京观海微电子)——I3C协议介绍
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (学习日记)2024.01.19
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)关于pipe()的详细解析
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .Net MVC4 上传大文件,并保存表单
  • .Net 高效开发之不可错过的实用工具
  • @Resource和@Autowired的区别
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [Angular] 笔记 20:NgContent
  • [Ariticle] 厚黑之道 一 小狐狸听故事
  • [Asp.net mvc]国际化
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)
  • [Codeforces1137D]Cooperative Game
  • [codevs1288] 埃及分数
  • [HAOI2016]食物链
  • [HNOI2018]排列