mybatis 基础理解
生活随笔
收集整理的這篇文章主要介紹了
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
轉載于:https://blog.51cto.com/881206524/1922470
總結
以上是生活随笔為你收集整理的mybatis 基础理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用tkinter显示动态gif
- 下一篇: 微信小程序把玩(二十一)switch组件