好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mybatis 项目配置文件实例详解

mybatis项目配置

首先这事一个简单的mybatis项目配置文件:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<? xml version = "1.0" encoding = "UTF-8" ?>

<!DOCTYPE configuration

  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

  "http://mybatis.org/dtd/mybatis-3-config.dtd">

< configuration >

  < environments default = "development" >

   < environment id = "development" >

    < transactionManager type = "JDBC" />

    < dataSource type = "POOLED" >

     < property name = "driver" value = "${driver}" />

     < property name = "url" value = "${url}" />

     < property name = "username" value = "${username}" />

     < property name = "password" value = "${password}" />

    </ dataSource >

   </ environment >

  </ environments >

  < mappers >

   < mapper resource = "org/mybatis/example/BlogMapper.xml" />

  </ mappers >

</ configuration >

environment

mybatis支持多个环境,可以任意配置

比如:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

< environments default = "development" >

  < environment id = "development" >

   < transactionManager type = "JDBC" />

   < dataSource type = "POOLED" >

    < property name = "driver" value = "${driver}" />

    < property name = "url" value = "${url}" />

    < property name = "username" value = "${username}" />

    < property name = "password" value = "${password}" />

   </ dataSource >

  </ environment >

 

  < environment id = "test" >

   < transactionManager type = "JDBC" />

   < dataSource type = "POOLED" >

    < property name = "driver" value = "${driver}" />

    < property name = "url" value = "${url}" />

    < property name = "username" value = "${username}" />

    < property name = "password" value = "${password}" />

   </ dataSource >

  </ environment >

</ environments >

就会有两个环境,environments中的defalut标签选择哪一个,默认就是哪一个

transactionManager

mybatis支持两种类型的事务管理器,jdbc和managed(托管)

jdbc:应用程序管理数据库连接的生命周期

managed:由应用服务器负责管理数据库连接的生命周期(一般商业服务器才有此功能,如JBOSS WebLogic)

dataSource

type:用来配置数据源,类型有:UNPOOLED、POOLED、JNDI

UNPOOLED:没有连接池,每次数据库操作,mybatis都会创建一个新的连接,用完后,关闭:适合小并发项目

POOLED:有连接池

JNDI:使用应用服务器配置JNDI数据源获取数据库连接

properties

配置属性

比如:

?

1

2

3

4

5

6

7

8

9

10

11

< properties resource = "org/mybatis/example/config.properties" >

  < property name = "username" value = "dev_user" />

  < property name = "password" value = "F2Fa3!33TYyg" />

</ properties >

 

< dataSource type = "POOLED" >

  < property name = "driver" value = "${driver}" />

  < property name = "url" value = "${url}" />

  < property name = "username" value = "${username}" />

  < property name = "password" value = "${password}" />

</ dataSource >

typeAliases

给类的完整限定名取别名,方便使用

比如:

?

1

2

3

4

5

6

7

8

9

10

11

12

< 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 >

mappers

引入映射文件

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<!-- 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 >

<!-- 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 >

<!-- Using mapper interface classes -->

< mappers >

  < mapper class = "org.mybatis.builder.AuthorMapper" />

  < mapper class = "org.mybatis.builder.BlogMapper" />

  < mapper class = "org.mybatis.builder.PostMapper" />

</ mappers >

<!-- Register all interfaces in a package as mappers -->

< mappers >

  < package name = "org.mybatis.builder" />

</ mappers >

settings

An example of the settings element fully configured is as follows:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

< settings >

  < setting name = "cacheEnabled" value = "true" />

  < setting name = "lazyLoadingEnabled" value = "true" />

  < setting name = "multipleResultSetsEnabled" value = "true" />

  < setting name = "useColumnLabel" value = "true" />

  < setting name = "useGeneratedKeys" value = "false" />

  < setting name = "autoMappingBehavior" value = "PARTIAL" />

  < setting name = "autoMappingUnknownColumnBehavior" value = "WARNING" />

  < setting name = "defaultExecutorType" value = "SIMPLE" />

  < setting name = "defaultStatementTimeout" value = "25" />

  < setting name = "defaultFetchSize" value = "100" />

  < setting name = "safeRowBoundsEnabled" value = "false" />

  < setting name = "mapUnderscoreToCamelCase" value = "false" />

  < setting name = "localCacheScope" value = "SESSION" />

  < setting name = "jdbcTypeForNull" value = "OTHER" />

  < setting name = "lazyLoadTriggerMethods" value = "equals,clone,hashCode,toString" />

</ settings >

plugins

插件 比如:

分页插件

?

1

2

3

4

5

6

7

8

< plugins >

   < plugin interceptor = "com.github.pagehelper.PageHelper" >

     < property name = "dialect" value = "mysql" />

     < property name = "offsetAsPageNum" value = "true" />

     < property name = "rowBoundsWithCount" value = "true" />

     < property name = "pageSizeZero" value = "true" />

   </ plugin >

</ plugins >

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

查看更多关于mybatis 项目配置文件实例详解的详细内容...

  阅读:16次