MyBatis
文章平均质量分 79
MyBatis
Java杨永杰
Java架构师,想要学习的技术点可以在评论区哦,会更新文章的~
展开
-
MyBatis-SqlSession类介绍
MyBatis-SqlSession类是MyBatis框架中用于与数据库进行交互的核心类之一。它提供了一系列方法,用于执行SQL语句、管理事务、获取Mapper对象等。SqlSession接口的实例是通过SqlSessionFactory.openSession()方法来创建的。SqlSessionFactory是一个工厂类,用于创建SqlSession对象。原创 2024-01-09 15:09:40 · 1663 阅读 · 0 评论 -
Mybatis-Cache类介绍
Mybatis-Cache类是Mybatis框架中用于缓存数据的类。它是一个接口,定义了缓存数据的基本操作方法。具体的实现类有PerpetualCache、FifoCache、LruCache等。Mybatis-Cache类的主要作用是提高数据库访问性能。当应用程序需要访问数据库时,首先会先到缓存中查找数据,如果缓存中存在数据,则直接返回缓存数据,避免了繁重的数据库访问操作;如果缓存中不存在数据,再去数据库中查询,并将查询结果放入缓存中。原创 2023-12-25 15:34:22 · 1292 阅读 · 0 评论 -
Mybatis-Executor执行器介绍
MyBatis-Executor是MyBatis框架中的一个模块,用于执行SQL语句并将结果映射到Java对象上。在MyBatis中,Executor负责处理SQL的执行过程,包括预处理SQL、参数绑定、SQL的执行和结果的映射等。通过Executor,可以实现对各种数据库的访问。Executor的主要功能包括:SQL的预处理和参数绑定:Executor负责将XML配置文件中的SQL语句解析成可执行的PreparedStatement对象,并将参数绑定到SQL语句中。原创 2023-12-25 15:00:24 · 1161 阅读 · 0 评论 -
MyBatis-ORM介绍
MyBatis是一种开源的ORM(对象关系映射)框架,它提供了一种将数据库表的数据映射到对象的方式,使得通过Java编程语言来访问数据库变得更加方便和简单。MyBatis最初是在Sun公司的Java Persistence API(JPA)标准之前开发的,因此它采用了一种不同的方式来处理数据库操作。在MyBatis中,SQL语句是直接编写的,而不是使用ORM框架自动生成的。原创 2023-12-25 10:34:10 · 1094 阅读 · 0 评论 -
Mybatis一级缓存二级缓存
MyBatis是一个开源的持久层框架,它是以Java为基础的持久层框架,对JDBC进行了封装,使得开发者可以方便地进行数据库操作。简化数据库操作:MyBatis提供了简洁的编程接口,开发者只需要编写少量的SQL语句,就可以完成数据库的增删改查操作。灵活的SQL映射:MyBatis使用了XML配置文件,可以灵活地配置SQL语句的映射关系,开发者可以自由地编写复杂的SQL语句。高效的缓存机制:MyBatis提供了缓存机制,可以将数据库查询结果缓存起来,提高查询的性能。原创 2023-12-21 14:45:13 · 905 阅读 · 0 评论 -
MyBatis缓存机制(一级缓存,二级缓存)
Mybatis是一款优秀的ORM框架,它支持两级缓存机制,即一级缓存和二级缓存。原创 2023-12-01 17:05:44 · 409 阅读 · 0 评论 -
Mybatis模糊查询like语句该怎么写?
(2)"%"#{question}"%" 注意:因为#{…}解析成sql语句时候,会在变量外侧自动加单引 号’ ',所以这里 % 需要使用双引号" ",不能使用单引号 ’ ',不然会查不到任何结果。在上面的示例中,select语句使用了like语句来完成模糊查询,使用了%通配符,实现了对用户姓名进行模糊查询。在Mybatis中,模糊查询可以使用like语句,like语句的写法与SQL语句的写法相似。(4)CONCAT(’%’,#{question},’%’) 使用CONCAT()函数,推荐。原创 2023-11-30 14:23:25 · 497 阅读 · 0 评论 -
Mybatis当实体类中的属性名和表中的字段名不一样 怎么办?
第1种: 通过在查询的SQL语句中定义字段名的别名,让字段名的别名和实体类的属性名一 致。第2种: 通过来映射字段名和实体类属性名的一一对应的关系。原创 2023-11-28 14:51:09 · 477 阅读 · 0 评论 -
Mybatis如何传递多个参数
这种方法直观,需要建一个实体类,扩展不容易,需要加属性,但代码可读性强,业务逻辑 处理方便,推荐使用。这种方法不建议使用,sql层表达不直观,且一旦顺序调整容易出错。#{}里面的名称对应的是注解@Param括号里面修饰的名称。这种方法适合传递多个参数,且参数易变能灵活传递的情况。这种方法在参数不多的情况还是比较直观的,推荐使用。#{}里面的名称对应的是User类里面的成员属性。#{}里面的名称对应的是Map里面的key名称。#{}里面的数字代表传入参数的顺序。方法2:@Param注解传参法。原创 2023-11-28 14:35:09 · 442 阅读 · 0 评论 -
Myabtis 中#{}和${}的区别
在 MyBatis 中,#{} 和 ${} 都可以用于 SQL 语句中的动态参数传递,它们的区别在于:#{} 用于 PreparedStatement 中?的占位符,可以防止 SQL 注入攻击,同时会将传入的参数进行二次拼接,避免字符串拼接时出现 SQL 语法错误。${} 是字符串替换,直接将传入的参数替换成 SQL 语句中对应的值,可以用于传递表名、列名等 SQL 语句中不允许使用?的地方,但是会存在 SQL 注入风险。原创 2023-11-28 14:14:32 · 346 阅读 · 0 评论 -
Mybatis工作原理
映射文件即 SQL 映射文件,该文件中配置了操作数据库的 SQL 语句, 需要在 MyBatis 配置文件 mybatis-config.xml 中加载。6)MappedStatement 对象:在 Executor 接口的执行方法中有一个 MappedStatement 类型的参数,该参数是对映射信息的封装,用于存储要映射的 SQL 语句的 id、参数等信 息。7)输入参数映射:输入参数类型可以是 Map、List 等集合类型,也可以是基本数据类型和 POJO 类型。原创 2023-11-28 13:58:59 · 340 阅读 · 0 评论 -
Mybatis 逻辑分页 or 物理分页 (底层实现原理)
指的是最终执行的SQL中进行分页,即SQL语句中带limit。照常全部查询,在查询到的结果集中,再进行分页。逻辑分页 在SQL语句中不进行分页,原创 2023-11-18 09:13:10 · 172 阅读 · 0 评论