配置文件一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注 ...
随机推荐
- hdu6325 /// 上凸包
题目大意: 给定n 为n个点 给定n个点的坐标 两个点(xi,yi) (xj,yj)之间的花费是 xi*yj-yi*xj (可能为负数) 要求从点1经过若干个点到点n最小花费的路径 且路径要按x轴方向 ...
- $.Deferred 对象详解
1.什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作.其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们 ...
- wpf中datagrid绑定数据源发生改变
1.若datagrid绑定的数据源是同一个的话,即使里面的数据不同.页面也不会刷新,则需要重置数据源,再绑定.处理如下: datagrid1.ItemsSource=ListModule; 若List ...
- D3.js绘制 颜色:RGB、HSL和插值 (V3版本)
颜色和插值 计算机中的颜色,常用的标准有RGB和HSL. RGB:色彩模式是通过对红(Red).绿(Green).蓝(Blue)三个颜色通道相互叠加来得到额各式各样的颜色.三个通道的值得范围都 ...
- cross compile 交叉编译 ffmpeg
ffmpeg 支持各种压缩格式的视频解码库,经常出现在各种播放器中,交叉编译也是一项麻烦的事情. 1. 下载ffmpeg 源码包 http://ffmpeg.org/releases/ffmpeg ...
- springBoot优雅返回图片/网页到浏览器
一.普通spring mvc返回图片或网页到浏览器 @Controller @RequestMapping(value = "/image") public class Image ...
- Ruby 环境
Ruby 环境 本地环境设置 如果您想要设置 Ruby 编程语言的环境,请阅读本章节的内容.本章将向您讲解与环境设置有关的所有重要的主题.建议先学习下面几个主题,然后再进一步深入学习其他主题: Lin ...
- Android中的APK,TASK,PROCESS,USERID之间的关系
开发Android已经有一段时间了,今天接触到底层的东西,所以对于进程,用户的id以及Android中的Task,Apk之间的关系,要做一个研究,下面就是研究结果: apk一般占一个dalvik,一个 ...
- bzoj1096题解
[解题思路] 预处理spi=∑pj(j∈[1,i]),si=si-1+(xi-xi-1)*spi-1表示把工厂1~i-1的产品都运到工厂i的花费.于是把工厂j+1~i的产品都运到工厂i的花费为si-s ...
- c++ 实现元组 重载cout os 输出
#include <iostream> #include <string> using namespace std; class CAnyType //: public COb ...