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

相关文章

这篇文章主要介绍“hive和mysql的区别是什么”,在日常操作中...
这篇“MySQL数据库如何改名”文章的知识点大部分人都不太理解...
这篇文章主要介绍“mysql版本查询命令是什么”的相关知识,小...
本篇内容介绍了“mysql怎么修改字段的内容”的有关知识,在实...
这篇文章主要讲解了“mysql怎么删除unique约束”,文中的讲解...
今天小编给大家分享一下mysql怎么查询不为空的字段的相关知识...