配置文件一mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- resource:引入类路径下的资源
url:引入网络路径或者本地磁盘的资源 -->
<properties resource="jdbc.properties"></properties>
<settings>
<!-- useGeneratedKeys 默认值是:false。
含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中 -->
<setting name="useGeneratedKeys" value="true" />
<!--开启驼峰命名-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<!-- 当没有为参数提供特定的 JDBC 类型时,为空值指定 JDBC 类型。
某些驱动需要指定列的 JDBC 类型,多数情况直接用一般类型即可,比如 NULL、VARCHAR 或 OTHER。 -->
<setting name="jdbcTypeForNull" value="NULL"/>
<!--延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。
特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态。默认值false -->
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="false"></setting>
<!-- 所有映射器中配置缓存的全局开关。默认值true -->
<setting name="cacheEnabled" value="true"></setting>
</settings>
<!-- typeAliases:起别名的标签
type:指定要起别名的全类名,默认别名就是类小写(但是其实他是不区分大小写的,也就是说你全部大写也没问题)
alias:新的别名
package:为某个包下的类批量起别名(这个会存在的一个问题就是可能会重复,重复的情况下还可以用@Alias来解决)
name:指定包名(这个就相当于是为这个包下的所有的类都创建了一个默认的别名)
还有一个起别名的方式就是在实体上使用@Alias来起别名 -->
<typeAliases>
<typeAlias type="com.bean.Employee" alias="AdminBean"></typeAlias>
<package name="com.bean"></package>
</typeAliases>
<!--<select id="findUserById" parameterType="int" resultType="AdminBean">
SELECT * FROM admin WHERE a_id =#{a_id}
</select>-->
<!-- environments:配置mybatis的多种环境,default指定使用某种环境。可以达到快速切换的目的
environment:配置一个具体的环境信息,他必须要配置transactionManager和dataSource这两个子标签
transactionManager:事务管理器 type是具体事物的别名 有两个值:JDBC(JdbcTransactionFactory) 和 MANAGED(ManagedTransactionFactory)
dataSource:数据源 type:数据源类型 有三个值:UNPOOLED(UnpooledDataSourceFactory)
POOLED(PooledDataSourceFactory)
JNDI(JndiDataSourceFactory) -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
<environment id="test">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<!-- mappers:注册一个sql映射
mapper
有三种注册方式:resource url class
其中resource url是以配置文件的方式来注册 , class是以接口的方式
resource:引用类路径下的sql映射文件
<mapper resource="mapper/Mapper.xml"/>
url:引用网络路径或者本地磁盘路径下的映射文件
<mapper url="file:///mappers/PostMapper.xml"/>
class:有两种方式
1.有sql映射文件时,xml文件要和接口同名且放在一起,也就是在resources和java有相同的目录结构
2.没有映射文件而使用注解的方式(@Select @Delete @Insert @Update),这个和spring data jpa类似。只不过要多加一步,将他的全限定名配置在class中
注:在这里就有个问题,如果sql语句都用注解的方式,我们会不好管理,所以推荐的用法是不重要的用注解,比较重要的
还是配置到映射文件中来统一管理。
以上这三类都是一个一个注册,还有一种批量注册的方式
package: name是包名
但是批量注册要注意一个问题就是:
在这个包下使用了注解方式的没有问题,
没使用注解方式的我们就是用到class方式第一种的方式,将sql的映射文件和接口放在一起 -->
<mappers>
<!--通过resource加载单个映射文件-->
<mapper resource="mapper/Mapper.xml"></mapper>
<!-- 需要将mapper接口类名和mapper.xml映射文件(名称保持一致,且在一个目录) -->
<!-- 下面是接口的全限定类名或者目录 -->
<!-- 如mapper接口采用注解的方式,则无需映射文件 -->
<mapper class="com.dao.MapperEmployeeAnnotation"/>
<package name="com.dao"></package>
</mappers>
</configuration>
配置文件一mybatis-config.xml的更多相关文章
- Mybatis config.xml 配置
<!-- xml标准格式 --><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ...
- MyBatis(2):config.xml文件
前言 前一篇文章,讲了MyBatis入门,讲到了MyBatis有两个基本的配置文件,一个用来配置环境信息,一个用来写SQL语句.前者我把它命名为config.xml,config.xml的内容是: 1 ...
- mybatis generatorConfig.xml生成配置文件及三种运行方式
https://blog.csdn.net/gavin5033/article/details/83002335 一 ,cmd命令执行配置文件本人工作目录结构(图一) 在自己放配置文件的目录下新建ge ...
- IDEA中写MyBatis的xml配置文件编译报错的坑
IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错 ...
- clipse中mybatis的xml配置文件代码提示
编写mybatis的xml文件时,没有代码提示会很麻烦,是有解决办法的: 按下图打开 点击右上角的Add按钮,添加配置,配置如下,添加后点击OK: Location:http://mybatis.or ...
- mybatis mapper.xml 配置文件问题(有的错误xml是不报的) 导致服务无法启动 。
转载自 开源编程 一舟mybatsi xml编译报错,tomcat启动一直循环,导致内存溢出,启动失败 mapper.xml怎么知道有没有编译错误,哪个位置有错误 这应该是mybatis的一个bug, ...
- MyBatis2:config.xml文件
前言 前一篇文章,讲了MyBatis入门,讲到了MyBatis有两个基本的配置文件,一个用来配置环境信息,一个用来写SQL语句.前者我把它命名为config.xml,config.xml的内容是: & ...
- 通过外部配置文件做mybatis的基础配置,以及Mapper代理接口的实现
1.通过外部配置文件做mybatis的基础性的配置. 1)先编写config.properties的文件(做一些动态的配置). 配置的内容如下: jdbc.jdbcUrl=jdbc:oracle:th ...
- 【Mybatis】XML配置实现增删改查
①创建数据库和表,数据库为mytest,表为users CREATE DATABASE mytest; USE mytest; DROP TABLE IF EXISTS users; CREATE T ...
- SpringBoot整合Mybatis之xml
SpringBoot整合Mybatis mybatis ORM框架.几个重要的概念: Mapper配置 : 可以使用基于XML的Mapper配置文件来实现,也可以使用基于Java注解的Mybatis注 ...
随机推荐
- mongo数组修改器—$push、$ne、$addtoset、$pop、$pull
这几个方法也很有意思 $push 像已有的数组末尾加入一个元素,要是元素不存在,就会创建一个新的元素,如果元素存在了,就会再添加一个一模一样的元素,会造成元素的重复,所以在使用的时候,要确保该元素不存 ...
- python_learn Ⅰ
基于 廖雪峰python3教程 学习. 目录: 01_输入输出.py 02_list.tuple.py 03_条件判断.py 04_循环.py 05_利用循环排序.py 06_自定义3元2次方程的根求 ...
- ARM 汇编指 跳转指令 b , bl
1. 跳转指令 [ b ] [ bl ] 指令格式:<opcode><cond> <address> 不带返回的跳转指令:b mov r0, #0x12 mov ...
- elasticsearch 父子文档(十一)
说明 需求 一个产品多个区域销售 每个区域有自己的价格, 方式1冗余行,a 产品分别在 area1 area2 area3区域销售 a产品就会生成3条产品数据 搜索id去重就行了,但是问题就是 聚合 ...
- 微信公众号开发上传图文素材带有卡片小程序报错:errcode=45166,errmsg = invalid content hint
微信公众号开发自从支持允许在群发图文中插入小程序,方便了小程序的运营及推广.最近在三方服务开发中,要支持图文素材插入小程序遇到了一个很是棘手的问题.官方给出的插入小程序的示例支持文字.图片.卡片.如下 ...
- Comparable和Comparator接口是干什么的?列出它们的区别
Java提供了只包含一个compareTo()方法的Comparable接口.这个方法可以个给两个对象排序.具体来说,它返回负数,0,正数来表明输入对象小于,等于,大于已经存在的对象. Java提供了 ...
- vue中axios的封装以及简单使用
一.axios的封装 在vue中为了使用axios使用方便,不需要每一个模块进行导入,就需要对其进行封装: 1.新建http.js模块 import axios from 'axios' // 设置基 ...
- vue之TodoMVC项目实战
一.初始化项目 1.下载模板 进入github中https://github.com/tastejs/todomvc-app-template,并且在命令行将其clone下来 git clone ht ...
- 47. List中特有的方法
集合的体系:--------------| Collection 单列集合的根接口----------| List 如果实现了List接口的集合类,该类具备的特点是:有序,可重复---------- ...
- 利用NHibernate与MySQL数据库交互
本文章使用Visual Studio作为开发工具,并建立在已经安装MySQL数据库的前提. NHibernate是一个面向.NET环境的对象/关系数据库映射工具.官网:http://nhibernat ...