javaweb学习笔记之mybatis关键对象

小明TI 小明TI     2023-03-25     424

关键词:

SqlSessionFactoryBuilder
用来创建SqlSessionFactory的,一旦创建完SqlSessionFactory实例之后,这个类就不需要存在了,所以可以把它作为一个局部变量使用。

String resource = “org/mybatis/example/mybatis-config.xml”;

InputStream inputStream = Resources.getResourceAsStream(resource);

sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSessionFactory
SqlSessionFactory是单例的,会随着应用的生命周期一同存在,并且同时只存在一个对象实例。

SqlSession
每个线程都有它自己的SqlSession实例,SqlSession实例不能被共享,也不是线程安全的。所以它的生命周期是request或者局部的。绝对不能将 SqlSession 实例的引用放在一个 类的静态字段甚至是实例字段中。 也绝不能将 SqlSession 实例的引用放在任何类型的管理范 围中, 比如 Serlvet 架构中的 HttpSession。关闭 Session 很重要,你应该确保使 用 finally 块来关闭它。下面的示例就是一个确保 SqlSession 关闭的基本模式:

SqlSession session = sqlSessionFactory.openSession();
try
// do work
finally
session.close();

Mapper 实例
映射器是你创建绑定映射语句的接口。映射器接口的实例可以从 SqlSession 中获得。那 么从技术上来说,当被请求时,任意映射器实例的最宽范围和 SqlSession 是相同的。然而, 映射器实例的最佳范围是方法范围。也就是说,它们应该在使用它们的方法中被请求,然后 就抛弃掉。它们不需要明确地关闭,那么在请求对象中保留它们也就不是什么问题了,这和 SqlSession 相似。你也许会发现,在这个水平上管理太多的资源的话会失控。保持简单,将 映射器放在方法范围内。下面的示例就展示了这个实践:

SqlSession session = sqlSessionFactory.openSession();
try
BlogMapper mapper = session.getMapper(BlogMapper.class);
// do work
finally
session.close();

javaweb学习笔记之servlet九大内置对象

1.request对象:  客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。 2.response对象:  response对象包含了响应客户请求的有关信息,但在JSP中很少直... 查看详情

javaweb学习笔记之mybatis实用sql语句汇总(代码片段)

一、批量插入/更新/删除批量操作主要使用的是Mybatis的foreach,遍历参数列表执行相应的操作,所以批量插入/更新/删除的写法是类似的,只是SQL略有区别而已。MySql批量操作需要数据库连接配置allowMultiQueries=true才... 查看详情

javaweb学习笔记之spring中bean的作用域

Bean简介:在Spring中,那些组成你应用程序的主体(backbone)及由SpringIoC容器所管理的对象,被称之为bean。简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象... 查看详情

springmvc学习笔记-springmvc整合mybatis之service

springmvc学习笔记(8)-springmvc整合mybatis之servicespringmvc学习笔记8-springmvc整合mybatis之service定义service接口在spring容器配置service事务控制本文记录如何整合service,包括定义spring接口,在spring容器配置service以及事务控制。让spring管理servic... 查看详情

mybatismapperscannerconfigurer配置――mybatis学习笔记之八

MyBatisMapperScannerConfigurer配置——MyBatis学习笔记之八2012-09-0220:01:42标签:Spring MyBatis MapperScannerConfigurer bean默认命名原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声... 查看详情

mybatis系统性详解(学习笔记)(代码片段)

目录mybatis知识传统JDBC不足mybatis基础mybatis核心应用配置与原理解析mybatis核心概念整体认识mybatis源码包mybatis基本流程类调用mybatis流程记录mybatis处理流程图mybatis*之sessionmybatis之mappermybatis之sqlmybatis之executormybatis之Cache一级缓存二... 查看详情

javaweb学习笔记之spring的依赖注入方式

平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员... 查看详情

框架学习笔记之mybatis

一、动态sql  通过mybatis提供的标签,实现sql语句的拼接。  1.where<selectid="findUserList"parameterType="user"resultType="user">select*fromuser<!--使用where可以自动处理第一个and--><where><iftest="id!=nullandid!=‘ 查看详情

mybatis动态sql操作之插入学习笔记

1importjava.util.ArrayList;importjava.util.List;importorg.apache.ibatis.session.SqlSession;importcn.itcast.javaee.mybatis.util.MybatisUtil;/***持久层*@authorAdminTC*/publicclassStudentDao{/***插入学生*/publi 查看详情

javaweb学习笔记之ssm框架搭建配置文件

/WEB-INF/web.xml:-----------------<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.4"xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi= 查看详情

javaweb学习笔记之springmvc处理方法支持如下的返回方式(代码片段)

一返回值类型ModelAndViewModelModelMapMapViewStringvoid二返回值详细讲解ModelAndView@RequestMapping("/show1")publicModelAndViewshow1(HttpServletRequestrequest,HttpServletResponseresponse)throwsExceptionMo 查看详情

scala学习笔记-面向对象编程之trait(13)

将trait作为接口使用1//Scala中的Triat是一种特殊的概念2//首先我们可以将Trait作为接口来使用,此时的Triat就与Java中的接口非常类似3//在triat中可以定义抽象方法,就与抽象类中的抽象方法一样,只要不给出方法的具体实现即可4//... 查看详情

javaweb学习内容之3万字核心javascript笔记

更多Java全套学习资源均在专栏,持续更新中↑↑戳进去领取~🍗MySQL的安装及登陆基本操作(附图)手把手带你安装🍗MySQL基础:通过SQL对数据库进行CRUD🍗MySQL基础:通过SQL对表、数据进行CRUD,... 查看详情

javaweb笔记之servlet

今天在学习Servlet时,使用浏览器显示的网页效果与预期的有差异,仔细查找发现实<!DOCTYPE>声明的问题,截图如下:  代码如下: packagesecondServlet;importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException 查看详情

javaweb学习笔记之ssm三大框架整合详细教程(代码片段)

1、基本概念1.1、SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创... 查看详情

mybatis学习笔记

鲁春利的工作笔记,好记性不如烂笔头MyBatis之SqlSession介绍    http://luchunli.blog.51cto.com/2368057/1891463本文出自“闷葫芦的世界”博客,请务必保留此出处http://luchunli.blog.51cto.com/2368057/1891464 查看详情

javaweb学习笔记11_xml&反射

解析XML总结(SAX、Pull、Dom三种方式)反射的简单介绍:反射1、什么是反射技术?动态获取指定类以及类中的内容(成员),并运行其内容。应用程序已经运行,无法在其中进行new对象的建立,就无法使用对象。这时可以根据配置... 查看详情

mybatis学习笔记(代码片段)

Mybatis学习笔记本篇文章是观看B站UP主狂神说关于Mybatis讲解的视频,借鉴Mybatis官方文档以及CSDN博主黑心白莲相关文章整理的个人Mybatis笔记。因笔者能力有限,文章难免有错误之处,欢迎各位评论勘误,共同探讨&#... 查看详情