MyBatis笔记——mybatis核心配置文件

核心配置文件详解

xml 复制代码
<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE configuration  
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
        "https://mybatis.org/dtd/mybatis-3-config.dtd">  
<configuration>
	<environments default="development">  
	    <!--  
	        environment 单独的配置环境         
	        属性 id 是必须的,不能重复    
	    -->    <environment id="development">  
		    <!--  
		        transactionManager 设置事务管理方式        
		        属性:            
			        type: "JDBC" | "MANAGED"            
				        jdbc: 表示当前环境中,执行SQL,使用的是JDBC原生事务管理,事务需要手动提交或自动提交            
				        managed: 表示当前环境中,执行SQL,使用的是MyBatis自己的事务管理,事务需要手动提交        
		    -->        
	        <transactionManager type="JDBC"/>  
	        <!--  
	            dataSource 设置数据源            
	            属性:                
		            type: "POOLED" | "UNPOOLED" | "JNDI"               
		            POOLED: 表示使用数据库连接池                
		            UNPOOLED: 表示不使用数据库连接池                
		            JNDI: 表示使用上下文中的数据源        
		    -->        
		    <dataSource type="POOLED">  
	            <!--设置mysql驱动-->  
	            <property name="driver" value="com.mysql.cj.jdbc.Driver"/>  
	            <!--设置mysql的url-->  
	            <property name="url" value="jdbc:mysql://loclahost:3306/mybatis"/>  
	            <!--设置mysql的用户名-->  
	            <property name="username" value="mybatis"/>  
	            <!--设置mysql的密码-->  
	            <property name="password" value="EzW8ccePcXABXyBR"/>  
	        </dataSource>  
	    </environment>  
	</environments>
</configuration>

常用配置

typealiases

typealiases 可以方便的给全类名 取别名,配置的顺序:(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)

xml 复制代码
<typealiases>
	<typealias type="com.xxx.pojo.User" name="user"></typealias>
</typeliases>

这样配置就可以在mapper中直接使用user表示 com.xxx.pojo.User

如果不加 name ,那么默认就是用 类名(user) 来作为别名,不区分大小写

package

typealias 作用相似,可以为包路径 下的所有类自动 添加别名(不区分大小写),没有type属性 ,只有name

xml 复制代码
<package name="com.zxb.mybatis.pojo"/>

也可以用在 mappers

xml 复制代码
<!--引入映射文件-->  
<mappers>  
    <!--  
        以包为单位引入映射文件
		    要求:           
			    1. mapper 接口所在的包要和映射文件所在的包一致            
			    2. mapper 接口和映射文件的名字一致    
	-->    
	<package name="com.zxb.mybatis.mapper"/>  
</mappers>

注意:package 是包路径,如果要映射配置需要给mapper添加别名,那么resources下需要创建对应的文件夹,如下:

properties

properties 是一种专门用来写配置的文件,它们之间通过等号(=)分隔,如下:

jdbc.properties

复制代码
jdbc.driver=com.mysql.cj.jdbc.Driver  
jdbc.url=jdbc:mysql://localhost:3306/mybatis  
jdbc.username=mybatis  
jdbc.password=dafsadsfea
mybatis-config读取properties

在开发中,我们常常不会直接将数据库等连接信息,直接写在代码中,而是写在properties的配置文件中,让配置文件直接读取

xml 复制代码
<properties resource="jdbc.properties"/>

...

<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>
相关推荐
郑州光合科技余经理4 小时前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
萧瑟余晖4 小时前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
论迹复利8 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
张宇Joaquin8 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
宸津-代码粉碎机9 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring
2601_963749109 小时前
越华环保集团数字化污水治理:端边云采集架构与平台对接实现
java·大数据·架构
xcLeigh10 小时前
Go入门:整数类型的溢出与安全边界
java·安全·golang
LuminousCPP10 小时前
数据结构-二叉树(六):BFS层序遍历与完全二叉树判断|复用链式队列 + (N_0=N_2+1) 性质证明
c语言·数据结构·笔记·算法·二叉树·宽度优先
源码宝10 小时前
SpringBoot+Vue2 诊所门诊管理系统,完整前后端源码,可直接部署上线
java·源码·his系统·门诊系统·程序代码·诊所系统·门诊his
yychen_java10 小时前
九:Text-to-SQL 智能数据查询与 Human-in-the-Loop 人机协作
java·人工智能·架构