mybatis框架学习笔记2

mybatis框架学习笔记2

1.核心配置文件 sqlMapConfig.xml 其dtd约束位于org.apache.ibatis.builder.xml包下

2.properties标签
	<!-- 配置文件root标签(configuration) -->
<configuration>
	<!-- 自定义key-value -->
	<!-- 
		<properties>
			<property name="driver" value="com.mysql.jdbc.Driver"/>
		</properties> 
	-->
	<!-- resource 用于加载classpath下的properties文件
		 url 用于加载指定路径的properties文件
	在页面使用:${属性名}:${driver} 则取到的值为 com.mysql.jdbc.Driver
	 -->
	<properties resource="db.properties"></properties>
	
    <!-- properties加载顺序  
    1.先读取properties元素体内定义的key-value
    2.再读取properties元素resource或url属性中的key-value
    3.最后读取parameterType(在Mapper.xml中)上的属性
    后读取的会覆盖先读取的,因此在properties标签中的属性key要有特殊性(防止覆盖)
     -->
     ...
</configuration>

注:以下的标签都在root标签内部,将省略configuration标签

3.typeAliases标签(重点)
<!-- 别名标签  用于将复杂的类型全限定名,映射为简单名称 (可用于Mapper文件中)
  		  存储映射关系的类为:org.apache.ibatis.type.TypeAliasRegistry (内部维护HashMap<String, Class<?>>-->
<typeAliases>
	<!-- 单独映射  
	type:类的全限定名
	alias:别名
	以后别名String 就代表 java.lang.String类
	-->
	<typeAlias type="java.lang.String" alias="String"/>
	
	<!-- 批量映射
	name:包名
	mybatis会根据包名自动扫描其下的所有类,并自动生成别名
	在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名
	源码在TypeAliasRegistry类中的registerAlias方法
	-->
	<package name="com.pzhx.pojo"/>
</typeAliases>
4.plugins标签(重点)
<!--  plugins 用于指定拦截器类,以实现对mybatis的某些方法的拦截
 默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:
Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
ParameterHandler (getParameterObject, setParameters)
ResultSetHandler (handleResultSets, handleOutputParameters)
StatementHandler (prepare, parameterize, batch, update, query)
使用插件是非常简单的,只需实现 Interceptor 接口,并指定了想要拦截的方法签名即可。 
-->
<plugins>
	<plugin interceptor="com.pzhx.dao.interceptor.SclectInterceptor"></plugin>
</plugins>
5.objectFactory标签
<!-- MyBatis 每次创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成。 
默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认构造方法,要么在参数映射存在的时候通过参数构造方法来实例化。 
如果想覆盖对象工厂的默认行为,则可以通过创建自己的对象工厂来实现(需要实现ObjectFactory接口)。(可继承其默认实现类DefaultObjectFactory)
type:类全限定名
-->
<objectFactory type="">
	<property name="" value=""/>
</objectFactory>
6.objectWrapperFactory标签
7.settings标签(重要)
<!-- mybatis运行 全局配置参数 它们会改变 MyBatis 的运行时行为 
设置过程在org.apache.ibatis.builder.xml.XMLConfigBuilder类中的settingsElement方法
-->
<!-- 
<settings>
	<setting name="" value=""/>
</settings>
 -->
8.environments标签
<!-- 运行配置开发环境,可以配置多个,在具体用时再做切换 但每个 SqlSessionFactory实例只能选择其一  
与spring整合时,会将事务管理和数据源交给spring管理
-->
<environments default="test">
    <environment id="test">
     	<!-- 事务管理类型:JDBC、MANAGED -->
        <transactionManager type="JDBC"></transactionManager>
        <!-- 数据源类型:POOLED、UNPOOLED、JNDI -->   
        <dataSource type="POOLED">    
            <property name="driver" value="${db.driver}" />
            <property name="url" value="${db.url}" />
            <property name="username" value="${db.username}" />
            <property name="password" value="${db.password}" />
        </dataSource>
    </environment>
</environments>
9.typeHandlers标签(重要)
<!-- 类型处理器  完成jdbc类型和java类型的转换 
一般不需要定义,mybatis提供了丰富的类型处理器提供使用
handler:类型处理器类,必须实现TypeHandler接口,可继承BaseTypeHandler抽象类来简化开发
javaType:java类型
jdbcType:jdbc类型
-->
<!-- 
<typeHandlers>
	<typeHandler handler="" javaType="" jdbcType=""/>
</typeHandlers>
-->
10.mappers标签(重要)
<!-- 加载映射文件 mapper  -->
<mappers>
     <!-- 路径用 斜线(/) 分割,而不是用 点(.) -->
     <!--  单个映射文件加载(resource相对于类路径,url相对于全路径)
     <mapper resource="com/pzhx/mapper/*.xml"></mapper> 
     <mapper url="c:/com/pzhx/mapper/*.xml"></mapper> 
     -->
     <!-- 通过mapper代理加载 
                   规范:需要将mapper接口的类名和mapper.xml映射文件名保持一致,且要在同一个目录中
     class:类全限定名
     package会批量加载指定包下的mapper类(也需要满足以上规范)   
     -->
     <mapper class=""/>
     <package name="com.pzhx.mapper"/>
 </mappers>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值