mybatis项目配置文件的示例分析

40次阅读
没有评论

共计 3951 个字符,预计需要花费 10 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关 mybatis 项目配置文件的示例分析的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

mybatis 项目配置

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

?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 支持多个环境,可以任意配置

比如:

  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

配置属性

比如:

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

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

比如:

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

引入映射文件

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

settings

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

 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

插件 比如:

分页插件

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 项目配置文件的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计3951字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)