MyBatis
文章平均质量分 84
MyBatis
小日子呀
这个作者很懒,什么都没留下…
展开
-
MyBatis (一级缓存和二级缓存)
MyBatis 提供了一级缓存和二级缓存的支持。默认情况下,MyBatis 只开启一级缓存。原创 2023-10-16 16:59:13 · 120 阅读 · 0 评论 -
MyBatis (where、set、foreach)标签
在上一节SQL 语句中加入了一个条件“1=1”,如果没有加入这个条件,那么可能就会变成下面这样一条错误的语句。显然以上语句会出现 SQL 语法异常,但加入“1=1”这样的条件又非常奇怪,所以 MyBatis 提供了 where 标签。where 标签主要用来简化 SQL 语句中的条件判断,可以自动处理 AND/OR 条件,语法如下if 语句中判断条件为 true 时,where 关键字才会加入到组装的 SQL 里面,否则就不加入。原创 2023-10-16 16:58:34 · 1127 阅读 · 0 评论 -
MyBatis动态SQL(if、choose、when和otherwise)标签
动态 SQL 是 MyBatis 的强大特性之一。在 JDBC 或其它类似的框架中,开发人员通常需要手动拼接 SQL 语句。根据不同的条件拼接 SQL 语句是一件极其痛苦的工作。例如,拼接时要确保添加了必要的空格,还要注意去掉列表最后一个列名的逗号。而动态 SQL 恰好解决了这一问题,可以根据场景动态的构建查询动态 SQL 只有几个基本元素,与 JSTL 或 XML 文本处理器相似,十分简单明了,大量的判断都可以在 MyBatis 的映射 XML 文件里配置,以达到许多需要大量代码才能实现的功能。原创 2023-10-11 16:07:00 · 1504 阅读 · 0 评论 -
MyBatis一对多关联查询
在 MyBatis 中,通过 <resultMap> 元素的子元素 <collection> 处理一对多级联关系,collection 可以将关联查询的多条记录映射到一个 list 集合属性中。示例代码如下在 <collection> 元素中通常使用以下属性。原创 2023-10-11 15:00:05 · 504 阅读 · 0 评论 -
MyBatis关联(级联)查询;一对一关联查询
级联关系是一个数据库实体的概念,有 3 种级联关系,分别是一对一级联、一对多级联以及多对多级联。例如,一个角色可以分配给多个用户,也可以只分配给一个用户。大部分场景下,我们都需要获取角色信息和用户信息,所以会经常遇见以下 SQL。在级联中存在 3 种对应关系。实际应用中,由于多对多的关系比较复杂,会增加理解和关联的复杂度,所以应用较少。推荐的方法是,用一对多的关系把它分解为双向关系,以降低关系的复杂度,简化程序。原创 2023-10-10 18:09:24 · 879 阅读 · 0 评论 -
MyBatis resultMap元素
resultMap 是 MyBatis 中最复杂的元素,主要用于解决实体类属性名与数据库表中字段名不一致的情况,可以将查询结果映射成实体对象。原创 2023-10-10 18:08:48 · 231 阅读 · 0 评论 -
MyBatis delete标签
在 WebsiteMapper.xml 中使用 delete 标签添加一条 delete 语句参数为 String 类型的字符串;返回值为 int 类型,表示执行 sql 语句后,被删除记录的行数。原创 2023-10-09 11:18:58 · 495 阅读 · 0 评论 -
MyBatis update标签
在 WebsiteMapper.xml 中添加以下更新语句在 WebsiteMapper 接口中增加一个 updateWebsite() 方法参数为 String 类型的字符串;返回值为 int 类型,表示执行 sql 语句后受影响的记录的行数。原创 2023-10-09 11:17:59 · 573 阅读 · 0 评论 -
MyBatis insert标签
- 先使用selectKey标签定义主键,然后再定义SQL语句 --></insert>keyProperty:用于指定主键值对应的 PO 类的属性。order:该属性取值可以为 BEFORE 或 AFTER。BEFORE 表示先执行 <selectKey> 标签内的语句,再执行插入语句;AFTER 表示先执行插入语句再执行 <selectKey> 标签内的语句。原创 2023-10-08 14:06:19 · 602 阅读 · 1 评论 -
MyBatis配置文件(mybatis-config.xml)
MyBatis 配置文件的结构如下mybatis-config.xml 文件中的元素节点是有一定顺序的,节点位置必须按以上位置排序,否则会编译错误。configuration 元素是整个 XML 配置文件的根节点,其角色就相当于是 MyBatis 的总管,MyBatis 所有的配置信息都会存放在它里面。原创 2023-09-15 09:46:38 · 786 阅读 · 0 评论 -
MyBatis select标签
MyBatis 中,select 标签是最常用也是功能最强大的 SQL 语言,用于执行查询操作,select 示例语句如下。以上是一个 id 为 selectAllWebsite 的映射语句,参数类型为 string,返回结果类型为 Website执行 SQL 语句时可以定义参数,参数可以是一个简单的参数类型,例如 int、float、String;也可以是一个复杂的参数类型,例如 JavaBean、Map 等。原创 2023-10-07 08:49:00 · 553 阅读 · 0 评论 -
MyBatis执行SQL的两种方式
因为 XML 文件或者接口注解定义的 SQL 都可以通过“类的全限定名+方法名”查找,所以 MyBatis 会启用对应的 SQL 运行,并返回结果。上面分别讲解了 MyBatis 两种发送 SQL 的方式,一种用 SqlSession 直接发送,另外一种通过 SqlSession 获取 Mapper 接口再发送。以上语法格式中,String 对象由一个命名空间加 SQL id 组合而成,它完全定位了一条 SQL,这样 MyBatis 就会找到对应的 SQL。常用格式如下(也有其它重载方法,根据需要选择)。原创 2023-09-20 10:54:06 · 1444 阅读 · 0 评论 -
MyBatis Mapper映射器
映射器是 MyBatis 中最重要的文件,文件中包含一组 SQL 语句(例如查询、添加、删除、修改),这些语句称为映射语句或映射 SQL 语句。映射器由 Java 接口和 XML 文件(或注解)共同组成,它的作用如下。映射器有以下两种实现方式。如果 SQL 语句存在动态 SQL 或者比较复杂,使用注解写在 Java 文件里可读性差,且增加了维护的成本。所以一般建议使用 XML 文件配置的方式,避免重复编写 SQL 语句。原创 2023-09-18 10:39:59 · 168 阅读 · 0 评论 -
MyBatis核心对象
MyBatis 的核心接口和类每个 MyBatis 应用程序都以一个 SqlSessionFactory 对象的实例为核心。首先获取 SqlSessionFactoryBuilder 对象,可以根据 XML 配置文件或者 Configuration 类的实例构建该对象。然后获取 SqlSessionFactory 对象,该对象实例可以通过 SqlSessionFactoryBuilder 对象来获取。原创 2023-09-13 09:17:29 · 135 阅读 · 0 评论 -
MyBatis和Hibernate的区别
Hibernate 和 MyBatis 都是目前业界中主流的对象关系映射(ORM)框架,它们的主要区别如下。原创 2023-09-12 09:37:13 · 131 阅读 · 0 评论