千家信息网

mybatis 基础理解

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,1、主要的类1.1 SqlSessionFactoryBuilder用于创建SqlSessionFactory,要通过配置文件也可以是代码。主要的方法SqlSessionFactory build(I
千家信息网最后更新 2024年12月12日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 selectOne(String statement) List selectList(String statement) Map 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、配置文件

    
        
                              
  
                                                  
              
      
  


注:

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


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

0