• 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一旦被创建就应该在应用的运行期间一直存
  • 2023-08-12第一个Mybatis程序
    1、首先创建一个数据库CREATEDATABASEmybatis;CREATETABLE`user`(`id`INT(20)NOTNULLPRIMARYKEY,`name`VARCHAR(30)NOTNULL,`pwd`VARCHAR(30)NOTNULL)ENGINE=INNODBDEFAULTCHARSET=utf8;INSERTINTO`user`(`id`,`name`,`pwd`)VALUES(1,'张三'
  • 2023-08-01周二 Request&Response
    从苏州回河北,8.3上午到,标题进度不变在火车上没法学的会回家后补回来packagecom.itheima.util;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importjava.io.
  • 2023-07-17Statement not bound, 使用MybatisPlus时的SqlSessionFactory和MybatisSqlSessionFactoryBean的问题
    最近首次在真实项目中,实践用SpingBoot整合Mybatis、MybatisPlus、Spring、多数据源等常见SSH整合问题。遇到一个难题,MybatisPlus遇到了经典的问题“Statementnotbound”。如果是Mybatis,很容易解决,扫描到Mapper接口文件和Mapper.xml文件,肯定能搞定。这次整合进了MybatisPlus,之前
  • 2023-07-03Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required 问题解决
    以下是报错日志解决方案确认以下配置是否都存在:1、配置文件有写mybatis配置2、启动类里加上Mapper扫描的注解(指向自己mapper存放的位置)3、删除SpringBootApplication注解的exclude属性:@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,DataSourc
  • 2023-06-29Mybatis如何读取配置文件
    一、Mybatis读取配置文件过程首先,Mybatis会读取配置文件mybatis-config.xml。这个配置文件包含了MyBatis的全局配置信息,例如数据库连接信息、类型处理器、映射器等。Mybatis解析mybatis-config.xml文件,获取配置信息。它使用XML解析器来解析配置文件,将配置信息转换为内部的数据
  • 2023-06-29SqlSessionFactory工具类抽取
     packagecom.itheima.util;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importjava.io.IOException;importjava.io.InputStream;publicclassSqlS
  • 2023-06-28springboot mybatis mapper 注入原理浅析
    spring+mybatis是我们常用的开发组合,一般情况,我们只需要写一个Mapper接口 加上@Mapper注解就可以使用了,那么他的工作原理是什么呢?标准mybatis调用应该是这样的流程1//读取配置2InputStreamconfig=Resources.getResourceAsStream("mybatis-config.xml");3//根
  • 2023-06-27java springboot3 Property 'sqlSessionFactory' or 'sqlSessionTemplate' are requir
    老版本的mybatis-plus未适配springboot3解决办法:在pom.xml修改 mybatis-plus-boot-starter版本<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><vers
  • 2023-06-19Error creating bean with name 'sqlSessionFactory' defined in class path resource [com/baom
    项目启动报错原因分析背景:system模块一个月未重启过,今天重启报数据源问题原因:这里报错的原因是数据源配置问题解决:数据源配置在nacos中,拿该模块的nacos数据源配置与项目启动成功的模块的数据源配置进行对比,检查出不同,改为一样即可