青云博客 分享、记录

讲讲MyBatis中二级缓存的缺点?

二级缓存主要用来加速数据的访问。比如说,我们要从数据库中获取一些数据,但是每次都直接去数据库查询会有点慢,这时候二级缓存就能派上用场。它会把之前查询过的结果存起来,下次如果还需要同样的数据,就可以直接从缓存里拿,这样就不用再去数据库那里查询了。这样做的好处就是,我们能减少对数据库的频繁访问,提升应用

詹学伟 发布于 2024-04-23

MyBatis如何实现动态数据源切换?

在实现动态数据源切换方面,MyBatis有几种方法,让你能够在不同的数据库之间轻松切换。比如,你可能会在开发环境和生产环境中使用不同的数据库。下面是一些可以考虑的方法: 首先,我们可以通过配置文件来实现切换。具体来说,你可以在MyBatis的配置文件里配置多个数据源,然后根据需要在代码中进行切换。这

詹学伟 发布于 2024-04-23

#{}和${}的区别是什么?

在MyBatis中,#{}和${}都是用于参数替换的标记,用于将参数值插入到SQL语句中。然而,它们在处理参数值的方式上有一些重要的区别。 #{}(预编译): #{}是用于预编译的参数标记。当使用#{}时,MyBatis会将参数值放入一个预编译的PreparedStatement中,并确保参数值被正

詹学伟 发布于 2024-04-23

模糊查询 like 语句该怎么写?

在MyBatis中,要执行模糊查询(使用LIKE语句),你可以使用SQL语句的字符串拼接或使用动态SQL来构建查询语句。下面我将为你展示两种常用的方式。 假设你要在一个查询中执行模糊查询,搜索用户的用户名包含特定关键字的情况。 字符串拼接方式: <select id="searchUsers" re

詹学伟 发布于 2024-04-23

MyBatis中的动态SQL是什么?

MyBatis是一个流行的Java持久化框架,它允许你将数据库查询语句与Java代码分离,使得代码更加清晰易读。动态SQL是MyBatis中一个强大的特性,它允许你根据不同的条件在运行时构建不同的SQL查询语句。 举个例子来说明动态SQL的概念。假设你有一个搜索页面,用户可以根据不同的条件来搜索商品

詹学伟 发布于 2024-04-23

MyBatis中XML映射有哪些标签?

除了常见的select、insert、update和delete标签,MyBatis的XML映射文件中还有一些其他标签用于更复杂的操作和配置。以下是一些常见的额外标签: resultMap: 用于定义查询结果与Java对象之间的映射关系,可以在多个查询中重复使用。 association和colle

詹学伟 发布于 2024-04-23

MyBatis如何处理延迟加载?

所谓的延迟加载,其实就是一种优化方法,目标是为了在查数据库的时候,尽量不读取多余的数据,从而提高我们应用的表现和节约资源。在MyBatis里,这个延迟加载的技巧主要是用在处理对象关系映射的时候,也就是ORM。 来个例子帮你理解:假设有两张表,一张是订单表,另一张是商品表。每个订单下面可能有好几个商品

詹学伟 发布于 2024-04-23

MyBatis的核心组件有哪些?

首先第一个是,SqlSessionFactory,它就像是一个会话工厂。它的任务是创建 SqlSession 对象,这个对象是我们与数据库交互的主要途径。SqlSessionFactory 的作用很重要,因为它可以帮我们配置数据库连接信息和事务管理等。一旦这个工厂被建立起来,它就会加载一些必要的配置

詹学伟 发布于 2024-04-23

MyBatis的工作流程是怎样的?

首先,你要配置 MyBatis,就是告诉它怎么干活。你得创建一个配置文件,里面得写上数据库怎么连接,还有映射文件在哪,还有其他的一些设置。 然后,你得写映射文件,这个东西定义了咱们的 Java 对象和数据库表是怎么对应的。就是告诉 MyBatis,怎么把查询结果映射到我们的 Java 对象里面去。

詹学伟 发布于 2024-04-23

Mybaits 的优点 & 缺点

首先,MyBatis 是使用 SQL 语句来进行编程,它非常灵活。你可以将 SQL 写在 XML 文件中,这样可以避免和代码或数据库设计产生冲突,也便于集中管理。MyBatis 还提供了 XML 标签,用来编写动态的 SQL 语句,而且可以重复使用。我们可以根据不同情况灵活地生成 SQL。 和使用

詹学伟 发布于 2024-04-23