广告
返回顶部
首页 > 资讯 > 数据库 >mybatis 基础理解
  • 572
分享到

mybatis 基础理解

2024-04-02 19:04:59 572人浏览 独家记忆
摘要

1、主要的类1.1 sqlSessionFactoryBuilder     用于创建SqlSessionFactory,要通过配置文件也可以是代码。   

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

您可能感兴趣的文档:

--结束END--

本文标题: mybatis 基础理解

本文链接: https://www.lsjlt.com/news/43244.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis 基础理解
    1、主要的类1.1 SqlSessionFactoryBuilder     用于创建SqlSessionFactory,要通过配置文件也可以是代码。   ...
    99+
    2022-10-18
  • MyBatis基础入门
    鲁春利的工作笔记,好记性不如烂笔头官方文档详见:http://www.mybatis.org/mybatis-3/zh/index.html入门XML配置XML映射文件动态SQLJava API日志 ...
    99+
    2022-10-18
  • Mybatis的基础知识点
    小编给大家分享一下Mybatis的基础知识点,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mybatismybatis-conf...
    99+
    2022-10-18
  • MyBatis基础支持DataSource实现源码解析
    目录DataSourceUnpooledDataSourcePooledDataSourcePooledConnectionPoolState获取连接关闭连接小结DataSource...
    99+
    2023-02-05
    MyBatis基础支持DataSource MyBatis DataSource
  • ssm框架---MyBatis基础知识(一)
    MyBatis特性         1)MyBatis是支持定制化SQL、存储过程以及高级映射的优秀持久层框架         2)MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集         3)MyBatis可...
    99+
    2023-09-04
    mybatis java mysql
  • RustAtomicsandLocks并发基础理解
    目录Rust 中的线程线程作用域所有权共享借用和数据竞争内部可变rust 中的线程安全 Send 和 Sync线程阻塞和唤醒Rust 中的线程 在 Rust 中,线程是轻量级的执行单...
    99+
    2023-02-27
    Rust 并发基础 Rust Atomics Locks
  • MyBatis框架零基础快速入门案例详解
    目录一、创建数据库和表二、创建maven工程三、代码编写1、编写Student实体类2、编写DAO接口StudentDao3、编写DAO接口Mapper映射文件StudentDao....
    99+
    2022-11-13
  • Java基础元注解基本原理示例详解
    目录元注解@DocumentedIDEA Documented 文档生成@Target@Retention@Inherited示例@Repeatable示例@Native元注解 是...
    99+
    2023-01-17
    Java 元注解 Java 基础原理
  • LINQ基础概念怎么理解
    本篇内容介绍了“LINQ基础概念怎么理解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!要想更好地了解LINQ,首先需要了解LINQ基础概念。...
    99+
    2023-06-17
  • Mybatis基础概念与高级应用小结
    目录Mybatis基础回顾与高级应用引入依赖jdbc.propertiessqlMapConfig.xml案例一-查询用户案例二-添加用户案例三-编辑用户案例四-删除用户传统开发方式...
    99+
    2022-11-13
  • 使用mybatis时会有哪些基础错误
    这篇文章主要介绍使用mybatis时会有哪些基础错误,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、使用maven加载依赖加载了连接数据库的依赖、mybatis的依赖以及lombok的依赖<dependenc...
    99+
    2023-06-14
  • Mybatis基础概念与高级应用方法
    今天小编给大家分享一下Mybatis基础概念与高级应用方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Mybatis基础回...
    99+
    2023-07-02
  • HttpClient基础解析
    本文讲述了HttpClient基础知识,对相关概念进行解释在这里分享给大家,供大家参考。 请求执行:HttpClient最重要的功能是执行HTTP方法。执行HTTP方法涉及一个或多个HTTP请求/ HTTP响应交换,通常由HttpClien...
    99+
    2023-05-31
    httpclient 基础 clien
  • influxDB 基础了解
    目录 一、什么是时序数据库 1、时序数据库 InfluxDb 2、InfluxDB 的特点 3、influxdb 数据模型 4、influxdb 时间线 5、influxdb 系统架构 二、influxdb的安装 1.Windows电脑安装...
    99+
    2023-09-05
    数据库 java 系统架构
  • Python基础详解之邮件处理
    目录一、发送电子邮件二、发送纯文本格式的邮件三、发送HTML格式的邮件四、发送带附件的邮件五、发送图片的邮件六、接收电子邮件七、使用POP3协议下载邮件一、发送电子邮件 Python...
    99+
    2022-11-12
  • Java基础之异常处理详解
    目录Exception 类的层次Java 内置异常类异常方法捕获异常throws/throw 关键字finally关键字try-with-resources声明自定义异常通用异常异常...
    99+
    2023-05-17
    Java异常处理机制 Java异常处理 Java异常
  • 怎么理解Session、Cookie基础知识
    这期内容当中小编将会给大家带来有关怎么理解Session、Cookie基础知识,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Web前端作为当前市场上公认的高薪行业之一,吸引了很多人加入学习。不过,随着企业...
    99+
    2023-06-03
  • SQL理论基础
    一、概述1.SQL定义及历史SQL:Structured Query Language,结构化查询语言。是关系数据库的标准语言;SQL功能不仅是查询。几乎所有关系型数据库管理系统软件都支持SQL。许多软件厂...
    99+
    2022-10-18
  • SQL 基础整理
    SQL语句执行顺序 From 表连接 on连接条件,形成新的虚拟表 where 筛选条件 group by 生成新的结果集合  group by 分组列表 having 分组后筛选 select...
    99+
    2020-06-11
    SQL 基础整理
  • 如何使用EasyCode生成springboot+mybatis基础程序
    这篇文章给大家分享的是有关如何使用EasyCode生成springboot+mybatis基础程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、前言此文将分享我个人使用的一个easycode生成方法,生成之后...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作