[一步是咫尺,一步即天涯]
前文中,我们演示了最基本的HelloWorld程序,下面我们将介绍我们上面各项配置文件的详细解释,以及我们正式开发过程中,各种配置的注意事项等。
惯例,先来看看我们的准备工作有:
a.操作系统 :win7 x64
b.基本软件:MySQL,Mybatis,Spring,SQLyog,Tomcat,web基础
-------------------------------------------------------------------------------------------------------------------------------------上文中我们示例代码如下:
.... <configuration> ...... <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> ...... </configuration>
在 MyBatis 中有两种类型的事务管理器(也就是 type=”[JDBC|MANAGED]”):
动态配置:即通过porpeties文件来配置,如在HelloWorld工程中使用的方式即可。
子元素配置:这个不如直接看用法吧,如下:
<properties> <property name="username" value="root"/> <property name="password" value="1234"/> </properties>特别的:
如果属性在不只一个地方进行了配置,那么 MyBatis 将按照下面的顺序来加载:
因此,通过方法参数传递的属性具有最高优先级,resource/url 属性中指定的配置文件次之,最低优先级的是 properties 属性中指定的属性。
基本用法如下:
<typeAliases> <typeAlias alias="Author" type="domain.blog.Author"/> <typeAlias alias="Blog" type="domain.blog.Blog"/> <typeAlias alias="Comment" type="domain.blog.Comment"/> <typeAlias alias="Post" type="domain.blog.Post"/> <typeAlias alias="Section" type="domain.blog.Section"/> <typeAlias alias="Tag" type="domain.blog.Tag"/> </typeAliases>这种用法会使得配置项非常非常多,因此我们推荐使用下面的方法进行配置。
<typeAliases> <package name="domain.blog"/> </typeAliases>即配置一个包路径,当前包下面的所有类都会被自动转化为一个JAVA BEAN.
特别的,当时用这种方法配置时,其别名是首字母小写的别名,如,Author对象的别名为author。同时,我们不难发现,在没有其他配置的情况下,最好不要出现相同命名的对象。如果实在需要时,要使用单独注解的方式来实现,具体使用如下:
@Alias("author") public class Author { ... }另外,在Mybatis中已经创建了一些基本的别名对象,它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理。具体如下:
别名 | 映射的类型 |
---|---|
_byte | byte |
_long | long |
_short | short |
_int | int |
_integer | int |
_double | double |
_float | float |
_boolean | boolean |
string | String |
byte | Byte |
long | Long |
short | Short |
int | Integer |
integer | Integer |
double | Double |
float | Float |
boolean | Boolean |
date | Date |
decimal | BigDecimal |
bigdecimal | BigDecimal |
object | Object |
map | Map |
hashmap | HashMap |
list | List |
arraylist | ArrayList |
collection | Collection |
iterator | Iterator |
a.使用想对路径进行配置,如下:
<!-- Using classpath relative resources --> <mappers> <mapper resource="org/mybatis/builder/AuthorMapper.xml"/> <mapper resource="org/mybatis/builder/BlogMapper.xml"/> <mapper resource="org/mybatis/builder/PostMapper.xml"/> </mappers>b.使用文件定位符配置,如下:
<!-- Using url fully qualified paths --> <mappers> <mapper url="file:///var/mappers/AuthorMapper.xml"/> <mapper url="file:///var/mappers/BlogMapper.xml"/> <mapper url="file:///var/mappers/PostMapper.xml"/> </mappers>c.使用接口配置
<!-- Using mapper interface classes --> <mappers> <mapper class="org.mybatis.builder.AuthorMapper"/> <mapper class="org.mybatis.builder.BlogMapper"/> <mapper class="org.mybatis.builder.PostMapper"/> </mappers>d.使用包路经配置,如下:
<!-- Register all interfaces in a package as mappers --> <mappers> <package name="org.mybatis.builder"/> </mappers>-------------------------------------------------------------------------------------------------------------------------------------
至此,Mybatis最入门---配置详解(上)结束,我们在HelloWorld工程中使用的配置已经介绍完毕,下文我们介绍一些我们后续可能会使用的配置项。
参考资料:
官方文档:http://www.mybatis.org/mybatis-3/zh/index.html