微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mybatis 基础理解

1、主要的类

1.1 sqlSessionFactoryBuilder

     用于创建sqlSessionFactory,要通过配置文件也可以是代码

   主要的方法

sqlSessionFactory build(InputStream inputStream)
sqlSessionFactory build(InputStream inputStream, String environment)
sqlSessionFactory build(InputStream inputStream, Properties properties)
sqlSessionFactory build(InputStream inputStream, String env, Properties props)
sqlSessionFactory build(Configuration config)

    创建的示例

String resource = "org/mybatis/builder/mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsstream(resource);
sqlSessionFactoryBuilder builder = new sqlSessionFactoryBuilder();
sqlSessionFactory factory = builder.build(inputStream);
DataSource dataSource = BaseDataTest.createBlogDataSource();
TransactionFactory transactionFactory = new JdbcTransactionFactory();

Environment environment = new Environment("development", transactionFactory, dataSource);

Configuration configuration = new Configuration(environment);
configuration.setLazyLoadingEnabled(true);
configuration.setEnhancementEnabled(true);
configuration.getTypeAliasRegistry().registeralias(Blog.class);
configuration.getTypeAliasRegistry().registeralias(Post.class);
configuration.getTypeAliasRegistry().registeralias(Author.class);
configuration.addMapper(BoundBlogMapper.class);
configuration.addMapper(BoundAuthorMapper.class);

sqlSessionFactoryBuilder builder = new sqlSessionFactoryBuilder();
sqlSessionFactory factory = builder.build(configuration);

1.2 sqlSessionFactory

    用于创建sqlSession

    主要方法

sqlSession openSession()
sqlSession openSession(boolean autoCommit)
sqlSession openSession(Connection connection)
sqlSession openSession(TransactionIsolationLevel level)
sqlSession openSession(ExecutorType execType,TransactionIsolationLevel level)
sqlSession openSession(ExecutorType execType)
sqlSession openSession(ExecutorType execType, boolean autoCommit)
sqlSession openSession(ExecutorType execType, Connection connection)
Configuration getConfiguration();

1.3 sqlSession

   持久层操作会话

   常用方法

<T> T selectOne(String statement)
<E> List<E> selectList(String statement)
<K,V> Map<K,V> selectMap(String statement, String mapKey)
int insert(String statement)
int update(String statement)
int delete(String statement)

   事务操作方法

void commit()
void commit(boolean force)
void rollback()
void rollback(boolean force)

2、配置文件

<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>
<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>
<typeHandlers>
  <typeHandler handler="org.mybatis.example.ExampleTypeHandler"/>
</typeHandlers>
<environments default="development">
  <environment id="development">
    <transactionManager type="JDBC">
      <property name="..." value="..."/>
    </transactionManager>
    <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>
<databaseIdProvider type="DB_vendOR">
  <property name="sql Server" value="sqlserver"/>
  <property name="DB2" value="db2"/>        
  <property name="Oracle" value="oracle" />
</databaseIdProvider>
<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>

注:

配置文件元素与JAVA操作方法是可以相互对应的; 配置文件中元素是可以独立,如属性文件和注解。

详细参考官网地址:http://www.mybatis.org/mybatis-3/zh/configuration.html#environments

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐