• 2024-11-20定义一个 MybatisUtil 工具类,用于简化 MyBatis 的 SqlSession 获取过程。
    导入所需的类:importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;Resources:这是MyBatis提供的一个工具类,用于加载配
  • 2024-11-14MyBatis面试题--(底层原理与基本概念)
    目录什么是Mybatis?MyBatis的好处是什么?什么是ORM?有何作用?MyBatis中的SqlSession是什么?有什么作用?1>什么是SqlSession?2>SqlSession的作用解释一下SqlSessionFactory的作用并解释它如何使用SqlSessionFactory的作用?如何使用SqlSessionFactory1.添加依赖2.配置数据源和S
  • 2024-10-08Mybatis——SqlSessionFactoryBuilder工厂模式
    Mybatis——SqlSessionFactoryBuilder工厂模式工厂模式题外话合集总览:Mybatis框架梳理  说一下我的理解:设计模式是对项目工程中代码结构的设计和抽象,有了这种设计和抽象,系统才有了扩展性。记住了模式的角色、组成、UML类图,只是记住了模式的形,类似武术中的拳法套
  • 2024-08-22mybatis-plus配置自定义sqlInjector(使用InsertBatchSomeColumn),出现Invalid bound statement (not found)
    项目一开始未引入mybatis-plus,使用的是mybatis,配置文件为xml,有一个配置类中配置了SqlSessionFactory的相关内容。引入mybatis-plus后,想使用InsertBatchSomeColumn遇到Invalidboundstatement(notfound),多处配置发现没有效果并依旧报错,最终在刚才的配置类中的SqlSessionFact
  • 2024-08-05springboot多数据源整合及使用(一个oracle,两个mysql)
    在开发工作中,会遇到需要使用多个数据源的情况,比如项目一开始只有oracle,后面需要追加两个mysql数据源使用,这时候就需要配置多数据源了.首先,配置文件的编写:版本如下spring:datasource:db1:driver-class-name:com.mysql.cj.jdbc.Driverurl:
  • 2024-07-23mybatisPlus3.4 自定义sqlSessionFactory sql注入器失效、mybatis-plus批量插入报错Invalid bound statement (not found)
    文章目录一、报错背景二、解决方法在mybatis-plus项目中集成自定义批量插入方法后报错。以下整理一下报错及解决方法。一、报错背景mybatis-plus是不提供insertList批量插入方法的,本人在自定义批量插入方法后,启动时正常,但是执行到insertList时报错。org.apache.i
  • 2024-07-23SpringBoot升级到3.3.2版本,JDK升级到17,引入Mybatis-plus后启动报错:Property 'sqlSessionFactory' or 'sq
    【问题描述】2024-07-23T15:16:07.174+08:00WARN2604---[questionnaire][main]ConfigServletWebServerApplicationContext:Exceptionencounteredduringcontextinitialization-cancellingrefreshattempt:org.springframework.beans.factory.UnsatisfiedDependen
  • 2024-06-102. Mybatis 入门程序
    1.Mybatis入门程序开发步骤1.1数据库表的创建准备数据库表:数据库:north_mybatis,汽车表t_car,字段包括:id:主键(自增)【bigint】car_num:汽车编号【varchar】brand:品牌【varchar】guide_price:厂家指导价【decimal类型,专门为财务数据准备的类型】produce_time:生产时间【cha
  • 2024-05-315/31
    删除&批量删除功能&&foreach  1.编写接口方法:Mapper参数:id结果:void2.编写SQL语句:SQL映射文件3.执行方法,测试步骤一:步骤二:  步骤三: //删除数据publicvoidtestAdd()throwsIOException{//接受参数//现在是固定
  • 2024-05-20mybatis底层模板模型是什么
    mybatis底层模板模型是建造者模式和模板方法模式的结合。建造者模式用于创建SqlSessionFactory和SqlSession对象。模板方法模式用于执行SQL语句和处理结果集。mybatis是对JDBC的再一次封装,不管怎么进行包装,还是会有获取连接、preparedStatement、封装参数、执行这些步骤
  • 2024-05-10sqlSession相关的作用域和生命周期
    生命周期和作用域是十分重要的,错误的使用会导致非常严重的并发问题。Mybatis的执行流程详细讲解SqlSessionFactoryBuilder:一旦创建了SqlSessionFactory,就不需要它了,比较适合在局部变量中创建。SqlSessionFactory:相当于数据库的连接池;SqlSessionFactory一旦被创建就应
  • 2024-04-16MyBatis-06-Spring的SqlSession和原始区别
    DefaultSqlSession这个就不说了,SQL执行是调用执行器Executor执行SqlSessionTemplate构造函数,虽然没有立即创建SqlSession传入代理拦截器SqlSessionInterceptor,但是拦截器是一个实例内部类,可以访问到SqlSessionFactory并且SqlSessionTemplate不支持commit、rollback
  • 2024-04-16MyBatis-08-Spring的MyBatis Interceptor
    addInterceptor3个地方XML解析的SqlSessionFactoryBean:生成SqlSession的FactoryBeanPageHelperAutoConfiguration:分页助手的自动配置SqlSessionFactoryBean发现现在都没有将他作为一个FactoryBean使用了getObject调用了afterPropertiesSet生成SqlSessionF
  • 2024-03-07MyBatis
    //新建一个mybatis-config.xml文件<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""https://mybatis.org/dtd/mybatis-3-config.dtd"><confi
  • 2024-02-07MyBatis缓存
    MyBatis缓存缓存就是内存中的数据,常常来自对数据库查询结果的保存,使用缓存,我们可以避免频繁的与数据进行交互,进而提高响应速度。MyBatis也提供两种缓存模式,分为一级缓存和二级缓存。优点:提供查询效率减少频繁进行I/O操作,从而减少数据库的压力。适合存放缓存的数据:【1】查询频
  • 2023-12-27mybatis在读取配置文件,创建SqlSessionFactory对象时。需要对密码进行解密,再连接数据库,该如何操作。
    1、我看了网上很多的方法,主要是说通过新建一个jdbc.properties来获取数据库连接池。但是我试了并没有作用。 2、解决办法:简单粗暴。先用后代码读取原有的mybatis-configuration.xml,然后将密码进行解密后,设值到xml中。最后把解密的xml作为源。去生成一份新的xml文件,把心的xml
  • 2023-12-10mybatis执行时原理的简单分析
    前置知识:mybatis中配置文件的解析自定义实现类的方式动态代理生成代理类的方式mybatis中配置文件的解析解析xml文件的技术有很多,我们不需要全部去掌握,但是我们要知道我们的xml文件通过解析可以得到什么可以发现通过我们解析得到的这2个信息就可以实现我们jdbc的操作了。我
  • 2023-11-20JavaWeb--SqlSessionFactory工具类抽取
    代码优化 Stringresource="mybatis-config.xml";InputStreaminputStream=Resources.getResourceAsStream(resource);SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(inputStream);//2.2获取SqlSession对象SqlSessionsqlSession=
  • 2023-10-05SqlSession与SqlSessionFactory
    2.2.3SqlSessionSqlSession是MyBatis框架中极其重要的接口。SqlSession类似于JDBC中的Connection,它代表MyBatis和数据库的一次会话,主要用于执行持久化操作。SqlSession对象底层封装了JDBC连接,所以可以直接使用SqlSession对象执行已映射的SQL语句。SqlSession中包含了所有执行SQL
  • 2023-09-219.21
    packagecom.itheima.util;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importjava.io.IOException;importjava.io.InputStream;publicclassSqlSess
  • 2023-09-20Mybatis 05 注解实现增删改查
    UserMapperpublicinterfaceUserMapper{/*注解实现增删改查*/@Select("select*fromtb_user")List<User>selectAll2();@Insert("insertintotb_uservalues(null,#{username},#{password},#{gender},#{addr})")voidinsert
  • 2023-09-03SqlSessionFactoryUtil工具类
    2023-09-03packagecom.hh.util;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importjava.io.IOException;importjava.io.InputStream;/***@autho
  • 2023-08-14mybatis中生命周期和作用域
    生命周期,和作用域,是至关重要的,因为错误的使用会导致非常严重的并发问题。SqlSessionFactoryBuilder:●一旦创建了SqlSessionFactory,就不再需要它了●局部变量SqlSessionFactory:●说白了就是可以想象为:数据库连接池●SqlSessionFactory一旦被创建就应该在应用的运行期间一直存