第三章 MyBatis的核心配置.docx
MyBatis核心配置 MyBatis是一款流行的持久层框架,它提供了强大的配置机制,允许开发者灵活地配置和customization。第三章MyBatis的核心配置是了解MyBatis的基础知识的关键。 3.1 MyBatis核心对象 MyBatis的核心对象是SqlSessionFactory和SqlSession。SqlSessionFactory是线程安全的,可以在整个应用执行期间都会存在。它的实例可以通过SqlSessionFactoryBuilder对象来创建。SqlSession是执行持久化操作的对象,是线程不安全的,使用范围最好在一次请求或一个方法中,使用完要及时关闭。 SqlSession中包含了许多方法,常用方法如下: * selectOne:返回一条查询结果 * selectList:返回一个集合 * select:用户多表查询 * insert:插入,返回受影响行数 * update:更新,返回受影响行数 * delete:删除,返回受影响数 * commit():提交事务,插不进数据 * rollback():回滚事务 * close():关闭SqlSession对象 * getMapper():有接口时使用,返回Mapper接口的代理对象 * getConnection():获取jdbc数据库连接对象的方法 3.2 配置文件 MyBatis的配置文件是xml文件,主要元素包括: * <configuration>:根元素,所有元素都在根元素里配置 * <properties>:通过外部的配置来动态替换内部定义的属性 * <settings>:配置MyBatis的全局参数,如cacheEnabled、lazyLoadingEnabled等 * <typeAliases>:用来设置别名 * <plugins>:配置用户所开发的插件 * <environments>:用于对环境进行配置 * <mappers>:配置Mapper文件 3.2.1 主要元素 <configuration>是根元素,所有元素都在根元素里配置。 3.2.2 <properties>元素 <properties>元素的作用是通过外部的配置来动态替换内部定义的属性。例如,新建一个db.properties配置文件,写上数据库信息,接着在Mybatis文件中配置<properties>属性,通过resource引用,最后修改数据库连接信息。 3.2.3 <settings>元素 <settings>元素用于配置MyBatis的全局参数,常用参数包括: * cacheEnabled:所有映射器中配置的缓存全局开关 true/false * lazyLoadingEnabled:延迟加载加全局开关 true/false * multipResultSetsEnabled:是否允许单一语句返回多结果集 true/false * userColumnLabel:使用列标签代替列名 true/false * userGeneratedKeys:允许jdbc支持自动生成主键 true/false * autoMappingBehavior:指定MyBatis如何自动映射列到字段或属性 3.2.4 <typeAliases>元素 <typeAliases>元素用来设置别名。 3.2.5 <plugins>元素 <plugins>元素的作用是配置用户所开发的插件。 3.2.6 <environments>元素 <environments>元素的作用是用于对环境进行配置。<environments>是根元素,<environment>是子元素,可以定义多个。<transactionManager>用于配置事务管理,<dataSource>用于配置数据源。 3.3 映射文件 MyBatis的映射文件是xml文件,主要元素包括: * <select>:查询元素 * <insert>:插入元素 * <update>:更新元素 * <delete>:删除元素 * <sql>:定义可重用的sql代码段 * <cache>:缓存元素 * <cache-ref>:缓存引用元素 * <resultMap>:结果映射元素 3.3.1 主要元素 <select>元素的属性包括: * id:命名 * parameterType:传入的参数类型 * resultType:返回类型 * resultMap:外部resultMap的命名引用 * flushCache:在调用sql语句后,是否需要mybatia清空之前查询的本地缓存和二级缓存 * useCache:用户控制二级缓存的开启和关闭 * timeout:用于设置超时参数 * fetchSize:获取记录的总条数设定 * statementType:用户设置mybatis使用那个JDBC的Statement工作 * resultSetType:表示结果集的类型 3.3.2 <insert>元素 <insert>元素的属性包括: * KeyProperty:仅对insert和update标签有效,插入和更新操作时,返回值赋值给某个属性 * keyColumn:仅对insert和update标签有效,此属性用于设置第几列是主键,当主键列不是表中的第一列时需要设置 * useGeneratedKeys:仅对insert和update标签有效,获取由数据库生产的主键,true/false
























剩余6页未读,继续阅读


- 粉丝: 14
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 移动互联成为全球软件产业投融资重点关注领域(2014-).docx
- 基于s3c2410的模拟智能家居系统方案设计书.doc
- 教你用EXCEL绘制施工进度计划横道图.docx
- 浅析互联网+背景下中学英语阅读教学策略.docx
- 后MOOC时代高等医药院校计算机基础课重构与创新模式研究.docx
- 计算机科学与技术专业实践教学体系的构建.docx
- 计算机操作系统-司机与售票员的进程问题.doc
- (源码)基于嵌入式C编程语言的汽车温度监测与管理系统.zip
- 单片机C语言程序设计方案师试题.doc
- VB的图书管理系统方案设计书与实现1.doc
- 中铁四局大数据时代的企业信息化建设.docx
- 基于 RV1106 开发的神经网络模型部署仓库,已支持 PicoDet、MobileNet、CRNN、PPHumanSeg、OCR 及 YOLOv5 等模型
- 项目管理10大模板Excel版.xls
- 如何快速将cad转换成pdf.docx
- (源码)基于Python的网络简易英英词典.zip
- PHP-Mysql-音乐交流论坛的设计与实现评阅书-(含所有设计文档).doc


