MyBaits全局配置文件的各项标签1
■dtd约束
- <!DOCTYPE configuration
- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
为了编写简单,在我们写标签时会有代码提示,所以这个约束很有必要,一般联网情况下,我们只要写上上面代码的最后一行即可。
■properties
这个标签主要是把我们在主配置文件中,关于数据库连接的部分配置抽离出来,通过配置文件的方式进行配置,当然在SSM整合中,这一项是交给Spring帮我们完成的,现在已经很少用到了。
- 编写配置文件
- 创建一个配置文件dbconfig.properties
- 写入一下配置信息
- jdbc.driver=com.mysql.jdbc.Driver
- jdbcjdbc.url=jdbc:mysql://localhost:3306/mybatis_learn
- jdbc.username=root
- jdbc.password=*******
2.在总配置文件中引入这个文件
<properties resource="dbconfig.properties"/>
3.将dataSource标签里dbconfig.properties的各项值还原
- <property name="driver" value="${jdbc.driver}"/>
- <property name="url" value="${jdbc.url}"/>
- <property name="username" value="${jdbc.username}"/>
- <property name="password" value="${jdbc.password}"/>
■settings
settings是一个庞大而重要的标签,它可以改变Mybaits运行时的行为,推荐大家看看官方文档
http://www.mybatis.org/mybatis-3/zh/configuration.html#settings
我会在之后的教程里逐渐给大家解释,这里我就介绍一个比较常用的选项,作为例子。
设置名:mapUnderscoreToCamelCase
描述: 是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射。
有效值:true | false
默认值:False
这就是下划线映射为驼峰命名的策略,也是我们上一章如果开启这个策略,lastName在数据库中将会映射为last_name,我们也就不必要去在sql语句中编写别名了
■typeAliases
这是别名处理器,我们在上一章中编写mapper.xml是,resultType填写的是JavaBean的包全限定名,如果我们每次添加一个sql查询,在返回类型上都写这种全限定名,就会很麻烦,也不容易读,因此有了这个标签
- <typeAliases>
- <typeAlias type="com.figsprite.bean.Employee" />
- </typeAliases>
如果我们这样书写,默认的别名会是包名首字母小写,也就是employee,当然我们也可以通过typeAlias中的alias属性指定别名
- <typeAliases>
- <typeAlias type="com.figsprite.bean.Employee" alias="emp"/>
- </typeAliases>
通过这种方式,我们可以看到,每次为类起个别名都要一个typeAlias标签,如果我们JavaBean里有很多类,该如何快速的一次性起这些标签呢?我们需要用到package标签
- <typeAliases>
- <package name="com.figsprite.bean"/>
- </typeAliases>
这种方法所提供的别名是默认别名(即字母小写,其实别名不区分大小写= =),当然这种方法也有可能出现小问题,如果bean包下有个子包里面也有Employee类,那么Mybatis也会给他起一个相同别名,这样运行起来就有可能报错,这时我们就可以使用注解的方式,在JavaBean里使用@Alisa("emp")注解,起别名,MyBatis给我们起好了常用的几个包和类型的别名。我们起别名不能和这些冲突,其实建议我们使用全限定名的方式,这样容易定位类。
MyBaits全局配置文件的各项标签1的更多相关文章
- MyBaits全局配置文件的各项标签2
▲typeHandlers 类型处理器,它架起数据库和JavaBean一一映射的桥梁,这里需要注意一下,java在JDK1.8之前,日期处理函数并不丰富,但在JDK1.8之后引入JSR-310标准,这 ...
- MyBatis全局配置文件的各项标签3
mapper 将sql映射注册到全局配置中,这个我们在上一章已经使用过了, resource 这个属性是用来引用类路径下的sql映射文件 url 这个属性是用来引用网络路径或磁盘路径下的sql映射文件 ...
- MyBaits 全局配置文件(mybatis-config.xml)
什么是 MyBatis 全局配置文件 MyBatis 全局配置文件包含影响 MyBatis 框架正常使用的功能设置和属性信息. 它的作用好比手机里的设置图标,点击这个图标就可以帮助我们查看手机的属性信 ...
- MyBatis全局配置文件标签详解
一.全局配置文件结构 configuration 配置 properties 属性:可以加载properties配置文件的信息 settings 设置:可以设置mybatis的全局属性 typeAli ...
- Mybatis的全局配置文件标签介绍(mybatis-config.xml)
全局配置文件中本人只记录了常用的几个 typeHandlers, objectFactory,objectWrapperFactory, reflectorFactory, plugins, dat ...
- mybatis全局配置文件
一.properties:引入外部配置文件 1.resource :引入类路径下的全局配置文件,例如:<properties resource="conf/dbconfig.prope ...
- 02、MyBatis XML 全局配置文件
MyBatis-全局配置文件 在MyBatis中全局配置文件有着重要的地位,里面有9类行为信息;如果我们要想将MyBatis运用的熟练,配置全局配置文件是必不可少的步骤,所以我们一定要啃下这一块硬骨头 ...
- maven全局配置文件settings.xml详解
概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径. settings.xml文件是干什么的,为什么要配置它 ...
- Mybatis学习(二)————— 全局配置文件详解
一.全部配置内容 SqlMapConfig.xml的配置内容和顺序如下,顺序不能乱.现在来对这些属性的意思一一进行讲解. 二.properties 作用:引用java属性文件中的配置信息,比如,加载连 ...
随机推荐
- 面试总结——Java篇
前言:前期对Java基础的相关知识点进行了总结,具体参看:Java基础和面试知识点.近期由于笔者正在换工作(ing),因此下面将笔者在面试过程中或笔者朋友面试过程中反馈的题目进行总结,相信弄清楚下面题 ...
- 快速排序 O(n logn) 堆排序 O(n logn) 归并排序 O(n logn)
NB三人组 快速排序 思路" 取一个元素P (第一个元素), 使元素归位 列表被P 分成两部分,左边都比P小,右边比P大; 递归完成排序. 问题 如果是已经排序好的 倒叙 列表 则会 递归深 ...
- tomcat的webapps目录中的abc.war
1 在tomcat的webapps目录中,会有类似abc.war类型的文件,在tomcat启动时会自动解压为abc目录. 2 如果tomcat在运行中,不要直接删除abc.war文件,删除后,ab ...
- java 常用
1.使用第三方PageHelper分页对象 Page<MallCashcouponUser> page = PageHelper.startPage(mallCashcouponUser. ...
- CF617E XOR and Favorite Number
CF617E XOR and Favorite Number 已知一个序列 \(a_1,\ a_2,\ \cdots,\ a_n\) 和 \(k\) ,\(m\) 次询问给出 \(l,\ r\) ,求 ...
- Java多线程(六)——线程让步
一.yield()介绍 yield()的作用是让步.它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权:但是,并不能保证在当前线程调用yield()之后,其它 ...
- Linux并发与同步专题 (1)原子操作和内存屏障
关键词:. <Linux并发与同步专题 (1)原子操作和内存屏障> <Linux并发与同步专题 (2)spinlock> <Linux并发与同步专题 (3) 信号量> ...
- vue项目使用echarts按需引入实现地图动态显示效果时,报错:TypeError: Cannot read property 'dataToPoint' of undefined
vue项目使用echarts按需引入实现地图动态显示效果时,报错:TypeError: Cannot read property 'dataToPoint' of undefined 借鉴了该大神的文 ...
- Python常用内建方法:__init__,__new__,__class__的理解
python中所有类都是继承自object, 而object提供了很多原始的内建属性和方法,所以用户自定义的类在Python中也会继承这些内建属性.可以使用dir()函数可以查看,虽然python提供 ...
- scrapy框架爬取妹子图片
首先,建立一个项目#可在github账户下载完整代码:https://github.com/connordb/scrapy-jiandan2 scrapy startproject jiandan2 ...