这些属性都是可外部配置且可动态替换的,既能够在典型的 Java 的properties属性文件中配置,亦可经过 properties 元素的子元素来传递。java
<properties resource="org/mybatis/example/config.properties">
<property name="username" value="dev_user"/>
<property name="password" value="F2Fa3!33TYyg"/>
</properties>
复制代码
类型别名是为 Java 类型设置一个短的名字。 它只和 XML 配置有关,存在的意义仅在于用来减小类彻底限定名的冗余。sql
<typeAliases>
<typeAlias alias="Author" type="domain.blog.Author"/>
</typeAliases>
复制代码
也能够指定一个包名,MyBatis 会在包名下面搜索须要的 Java Bean,好比数据库
<typeAliases>
<package name="com.wangdao.bean"/>
</typeAliases>
复制代码
<!-- 使用相对于类路径的资源引用 -->
<mappers>
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
<mapper resource="org/mybatis/builder/BlogMapper.xml"/>
<mapper resource="org/mybatis/builder/PostMapper.xml"/>
</mappers>
复制代码
<!-- 使用彻底限定资源定位符(URL) -->
<mappers>
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
<mapper url="file:///var/mappers/BlogMapper.xml"/>
<mapper url="file:///var/mappers/PostMapper.xml"/>
</mappers>
复制代码
<!-- 使用映射器接口实现类的彻底限定类名 -->
<!-- 要经过接口找到对应的映射文件,类名+方法名 = namespace+id -->
<!-- 编译后把xxxMapper.xml和xxxMapper.class放到同一路径下 -->
<mappers>
<mapper class="org.mybatis.builder.AuthorMapper"/>
<mapper class="org.mybatis.builder.BlogMapper"/>
<mapper class="org.mybatis.builder.PostMapper"/>
</mappers>
复制代码
<!-- 将包内的映射器接口实现所有注册为映射器 -->
<mappers>
<package name="org.mybatis.builder"/>
</mappers>
复制代码
经过IO输出到日志文件,消耗系统资源数组
log4jmybatis
debug > info > warn > error > fatalapp
单个参数,多个参数,注解框架
#{value}dom
根据传入参数的顺序,分别对应arg0,arg1...或param1,param2ui
@Param 可见便可用url
可见:@Param(" ")中的value值
可用:value能够直接在#{}中使用
查询结果的列名与bean的成员变量名对应
不一致的能够在sql中使用as修改查询结果的列名
实际使用的是bean对象的setter()
封装javabean
让查询结果的列名和javabean的成员变量名产生映射关系
<resultMap id="resultMap的id值" type="封装的bean全限定名">
<!--id为主键映射-->
<id property="" column=""/>
<!--result为非主键映射-->
<result property="username" column="author_username"/>
</resultMap>
复制代码
property为bean的成员变量名
column为数据库查询结果的列名
<select id="selectBlog" resultMap="resultMap的id值">
</select>
复制代码