mybatis--01.基础

     2022-03-29     764

关键词:

1.Mybatis的基本组成

  • SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成SqlSessionFactory(工厂接口)

  • SqlSessionFactory:依靠工厂来生成SqlSession(SQLSession会话:相当于JDBC中的Connection对象)

  • SqlSession:即可以发送SQL去执行并返回结果,也可以获取Mapper的接口

  • SQL Mapper:它是Mybatis新设计的组件,它是由一个Java接口和Xml文件(或注解)构成的,需要给出对应的SQL和映射规则,它负责发送SQL去执行,并返回结果。

2.生命周期

  • SqlSessionFactoryBuilder :
    作用就是创建SQLSessionFactory,所以创建完成后作用即完成,将它回收,所以它的生命周期只存在于方法的局部。

  • SqlSessionFactory :
    每次应用程序需要访问数据库,我们就通过SQLSessionFactory来创建SQLSession(相当于Connection对象),所以SqlsessionFactory应该在Mybatis应用的整个生命周期中,其职责就是创建SQLSession,为了节省数据库的资源,我们采用单例模式,一个数据库只对应一个SQLSessionFactory,管理好数据库资源的分配。

  • SqlSessionFactory :
    是一个会话,相当于JDBC中的Connection对象,它的生命周期应该是请求数据库处理事务的过程中。它是一个线程不安全的对象,在涉及多线程编程的过程中,要特别当心,此外每次创建完成后都要及时关闭,长期不关闭会严重影响数据库的性能。我们往往在finally语句块中关闭它。它存活在一个应用的请求和操作,可以执行多条SQL语句,保证事务的一致性。

  • SqlSessionFactory :
    Mapper是一个接口而没有任何的实现类,它的作用是发送SQL,然后返回我们需要的结果,或者执行SQL从而修改数据库中数据,因此它应该在一个SQLsession事务方法之内,是一个方法级别的东西,就如同JDBC中的一条SQL语句执行,最大范围和SQLSession相同。


mybatis01:入门

MyBatis01:入门1.概述三层架构界面层(UserInterfacelayer):接受用户的数据,显示请求的处理结果。---SpringMVC-----controller包(servlet)业务逻辑层(BusinessLogicLayer):接收表示传递过来的数据,检查数据,计算业务逻辑,调用数据访... 查看详情

mybatis01

MyBatis-01踩坑日记首先整个项目的流程如下plus:idea读错要从后往前读 Bug:1.防止资源导出失败的代码,此代码在pom.xml文件中,作用是解决项目无法正常生成target文件的情况 <build><resources><resource><directory>sr... 查看详情

mybatis01

...框架的流程:框架为我们做了什么?还需要我们做什么?Mybatis框架简化了数据库访问代码(封装了jdbc操作)①封装了获取连接,执行sql,释放连接。②封装了参数设置。(即有专门的语句对应我们数据库的sql语句,我们只要提... 查看详情

mybatis-01-笔记(代码片段)

MyBatis映射配置文件MyBatis映射配置文件1映射配置文件介绍2查询功能3新增功能4修改功能5删除功能6映射配置文件小结7案例演示MyBatis映射配置文件1映射配置文件介绍映射配置文件包含了数据和对象之间的映射关系以及要执行的SQL... 查看详情

mybatis01快速入门(代码片段)

MyBatis01快速入门文章目录MyBatis01快速入门一、学习目标二、为什么需要框架技术三、框架技术介绍四、主流框架介绍五、持久化与ORM六、MyBatis简介七、搭建MyBatis开发环境八、与JDBC直观对比九、MyBatis框架优缺点十、MyBatis基本要... 查看详情

mybatis-plus01_概述初始化工程basemapper和service中的crud常用注解

文章目录①.MyBatis-Plus的概述②.MyBatis-Plus初始化工程③.BaseMapper中的CRUD④.ServiceCRUD接口⑤.常用注解-@TableName⑥.常用注解-@TableId⑦.主键增长策略-雪花算法⑧.常用注解-@TableField⑨.常用注解-@TableLogic①.MyBatis-Plus的概述①... 查看详情

mybatis-plus01_概述初始化工程basemapper和service中的crud常用注解

文章目录①.MyBatis-Plus的概述②.MyBatis-Plus初始化工程③.BaseMapper中的CRUD④.ServiceCRUD接口⑤.常用注解-@TableName⑥.常用注解-@TableId⑦.主键增长策略-雪花算法⑧.常用注解-@TableField⑨.常用注解-@TableLogic①.MyBatis-Plus的概述①... 查看详情

狂神说mybatis01:第一个程序(代码片段)

1.简介1.1什么是MyBatisMyBatis是一款优秀的持久层框架MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的实体类【PlainOldJavaObjects,普通的Java对... 查看详情

mybatis01-创建,基本配置,log4j,动态sql,实现

知识点比较琐碎,一点点的整理起来的。一.mybatis创建mybatis是一个ORM框架,为我们操作数据库提供了很大的方便。首先,我是给予maven使用的mybatis1.导入jar包mybaits的jar包2.建立数据库表,是指对应的实体类3.创建配置文件设置数... 查看详情

mybatis

Mybatis01.mybatis介绍MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。2013年11月迁移到Github。MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发... 查看详情

maven系列:maven构建模块化项目之springmvc整合mybatis(01)

一、整合所需jar包 <dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring-version}</version></dependency>& 查看详情

mybatis-spring项目简介

mybatis-spring主要是为了解决spring3.0中支持mybatis3.01mybatis-spring主要包含以下几个部分数据源SqlSessionFactorySqlSessionTemplateMapper事务处理在mybatis中构建SqlSessionFactory对象,让它来产生SqlSession,在 mybatis-spring项目中 SqlSess 查看详情

狂胜说mybatis笔记(代码片段)

目录狂神说MyBatis01:第一个程序狂神说MyBatis02:CRUD操作及配置解析狂神说MyBatis03:ResultMap及分页狂神说MyBatis04:使用注解开发狂神说MyBatis05:一对多和多对一处理多对一的处理一对多的处理狂神说MyBatis06:... 查看详情

基础架构基础服务基础平台基础中间件等等

...。其实很多公司在起步的时候没有财力和资源建设独立的基础架构或平台架构部门,甚至运维团队都没有,但是这不妨碍我们心中有一个蓝图知道努力的方向,本文我们就简单聊聊平台架构相关的工作内容(或者说作为一个技术... 查看详情

python基础(二十):面向对象基础

文章目录面向对象基础一、理解面向对象二、类和对象1、理解类和对象 查看详情

python基础(二十):面向对象基础

文章目录面向对象基础一、理解面向对象二、类和对象1、理解类和对象 查看详情

前端基础进阶系列

前端基础进阶(一):内存空间详细图解前端基础进阶(二):执行上下文详细图解前端基础进阶(三):变量对象详解前端基础进阶(四):详细图解作用域链与闭包前端基础进阶(五):全方位解读this前端基础进阶(六)... 查看详情

关于selectlast_insert_id()的使用规则(代码片段)

尊重个人劳动成果,转载请注明出处: http://blog.csdn.net/czd3355/article/details/71302441首先我先解释以下在在映射文件中的代码是什么意思。<insertid="insertStudent"parameterType="com.czd.mybatis01.bean.Student">INSERTstu(name)VALUES( 查看详情