Mybatis的全局配置文件的基本标签

版权声明:有一种生活不去经历不知其中艰辛,有一种艰辛不去体会,不会知道其中快乐,有一种快乐,没有拥有不知其中纯粹 https://blog.csdn.net/wwwzydcom/article/details/82973934

mybatis可以使用properties来引入外部properties配置文件的内容
resource:引入类路径下的资源
url:引入网络路径或者磁盘路径下的资源
在configuration下配置:

<properties resource="db.properties"></properties>

其中DataSource就可以修改为

	<dataSource type="POOLED">
            <property name="driver" value="${jdbc.driver}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.name}" />
            <property name="password" value="${jdbc.pwd}" />
        </dataSource>

settings包含很多重要的设置项,setting用来设置每一个设置项,name:设置项名 value设置项的值,例如开启驼峰原则 数据库中name1_name2 与bean中name1Name2对应

<settings>
    <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

typeAliases:别名处理器,可以为java类型起别名,别名不区分大小写

type:指定要起别名的类型全类名,默认别名是小写,alias要指定的新的别名

 <typeAliases >
    <typeAlias type="com.sxt.bean.Employee" alias="emp"></typeAlias>
</typeAliases>

批量起别名用package为某包下所有的类批量起别名
批量起别名的情况下,防止别名冲突,可以使用Alias注解为某个类型指定新的别名

注意还是在:typeAliases标签下

<package name="com.sxt.bean"></package>

类前面加上
@Alias("emp")

environments:环境们,mybatis可以配置多种环境,default指定使用某种环境,可以达到快速切换环境
environment:配置一个具体环境信息,id是代表当前环境的唯一标识
transactionManager:事物管理器
type:事物管理器的类型JDBC(JdbcTransactionFactory)|MANAGED(ManagedTransactionFactory)
自定义事物管理器:实现TransactionFactory接口.type指定为全类名

DataSource:数据源
type:数据源类型
UNPOOLED(UnpooledDataSourceFactory)
|POOLED(PooledDataSourceFactory)
|JNDI(JndiDataSourceFactory)

自定义数据源:实现DataSourceFactory接口,type是全类名

 <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.name}" />
            <property name="password" value="${jdbc.pwd}" />
        </dataSource>
    </environment>
</environments>

mybatis多数据库厂商的支持:
databaseIdProvider:支持多数据库厂商
type=“DB_VENDOR”:VendorDatabaseIdProvider:作用是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能根据数据库厂商标识来执行不同的sql;

MySQL,Oracle,SQL Server,xxxx

<databaseIdProvider type="DB_VENDOR">
	<!-- 为不同的数据库厂商起别名 -->
	<property name="MySQL" value="mysql"/>
	<property name="Oracle" value="oracle"/>
	<property name="SQL Server" value="sqlserver"/>
</databaseIdProvider>

例如在environment中的配置数据库

<environment id="dev_oracle">
		<transactionManager type="JDBC" />
		<dataSource type="POOLED">
			<property name="driver" value="${orcl.driver}" />
			<property name="url" value="${orcl.url}" />
			<property name="username" value="${orcl.username}" />
			<property name="password" value="${orcl.password}" />
		</dataSource>
	</environment>

mappers:将sql映射注册到全局配置中
mapper:注册一个sql映射,注册配置文件,
resource:引用类路径下的sql映射文件,
url:引用网络路径或者磁盘路径下上sql映射文件

注册接口:class:引用(注册接口)
1.有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下
2.没有sql映射文件,所有的sql都是利用注解写在接口上
推荐:重要的sql复杂的dao接口写sql映射文件,不重要的dao接口为了开发快速,可以使用注解,方法上增加
@Select(“select * from tbl_employee where id=#{id}”)

也可以实现批量的注册:

但是批量的注册也要符class的1或者2项规则


选自尚硅谷mybatis视频01

猜你喜欢

转载自blog.csdn.net/wwwzydcom/article/details/82973934
今日推荐