Mybatis
文章平均质量分 83
本专栏为Mybatis基础讲解,对于刚接触Mybatis的学习者十分友好,一起加油!
牛哄哄的柯南
keafmd(keep accumulate for my dream)
展开
-
Mybatis执行完新增操作后,对象的ID主键被修改了的原因【mybatis-spring-boot-starter开源项目的贡献者解答】
首先说下背景,项目的依赖是:mybatis-spring-boot-starter:1.3.2。keep accumulate for my dream【共勉】首先跟下代码,看下问题。把新增的ID返给前端。原创 2023-02-17 14:01:32 · 714 阅读 · 0 评论 -
Mybatis注解开发(超详细)
Mybatis注解开发mybatis的常用注解使用 Mybatis 注解实现基本 CRUD项目目录结构编写实体类使用注解方式开发持久层接口编写 SqlMapConfig.xml 配置文件编写测试代码使用注解实现复杂关系映射开发复杂关系映射的注解说明项目目录使用注解实现一对一复杂关系映射及立即加载添加 User 实体类及 Account 实体类添加账户的持久层接口并使用注解配置添加用户的持久层接口并使用注解配置测试一对一关联及立即加载使用注解实现一对多复杂关系映射及延迟加载User 实体类加入 List``编原创 2021-02-17 03:39:16 · 52957 阅读 · 41 评论 -
Mybatis缓存
Mybatis缓存缓存的基本概念Mybatis一级缓存证明一级缓存的存在编写用户持久层 Dao 接口编写用户持久层映射文件编写测试方法一级缓存的分析测试一级缓存的清空添加updateUser方法测试缓存的同步Mybatis二级缓存二级缓存结构图二级缓存的开启与关闭第一步:在 SqlMapConfig.xml 文件开启二级缓存第二步:配置相关的 Mapper 映射文件第三步:配置 statement 上面的 useCache 属性二级缓存测试二级缓存注意事项缓存的基本概念缓存是存在于内存中的临时数据。原创 2021-02-16 17:13:17 · 5085 阅读 · 25 评论 -
Mybatis延迟加载策略
Mybatis延迟加载策略延迟加载项目目录使用 assocation 实现延迟加载(一对一)需求Account实体类账户的持久层 DAO 接口账户的持久层映射文件用户的持久层DAO接口用户的持久层映射文件开启 Mybatis 的延迟加载策略编写测试代码使用 Collection 实现延迟加载(一对多)需求User 实体类用户的持久层DAO接口用户的持久层映射文件账户的持久层 DAO 接口账户的持久层映射文件测试代码在对应的四种表关系中:一对多,多对一,一对一,多对多一对多,多对多:通常情况下我们都是采原创 2021-02-14 16:36:51 · 3869 阅读 · 15 评论 -
Mybatis的多表关联查询(多对多)
Mybatis的多表关联查询(多对多)项目目录结构实现 Role 到 User 多对多业务要求用户与角色的关系模型编写角色实体类编写 Role 持久层接口实现的 SQL 语句编写映射文件测试代码实现 User 到 Role 的多对多业务要求编写用户实体类编写 User持久层接口实现的 SQL 语句编写映射文件测试代码mybatis中的多表查询: 示例:用户和角色 一个用户可以有多个角色 一个角色可以赋予多个用户 步骤: 1、建立两张表:用户表,角色表 让用户表和角色表具有多对多的关原创 2021-02-13 00:22:06 · 16061 阅读 · 41 评论 -
Mybatis的多表关联查询(一对一、一对多)
Mybatis的多表关联查询mybatis中的多表查询数据库准备项目目录一对一查询(多对一)方式一(通过Accunt的子类方式查询--不常用)定义账户信息的实体类编写 Sql 语句定义 AccountUser 类定义账户的持久层 Dao 接口定义 IAccountDao.xml 文件中的查询配置信息测试代码方式二(建立实体类关系的方式--常用)修改 Account 类修改 AccountDao 接口中的方法重新定义 IAccountDao.xml 文件测试代码一对多查询编写User实体类编写 SQL 语句用原创 2021-02-12 23:21:12 · 12657 阅读 · 13 评论 -
Mybatis的动态SQL语句
Mybatis的动态SQL语句项目目录动态 SQL 之if标签持久层 Dao 接口持久层 Dao 映射配置测试代码动态 SQL 之where标签持久层 Dao 映射配置动态 SQL 之foreach标签需求在 QueryVo 中加入一个 List 集合用于封装参数持久层 Dao 接口持久层 Dao 映射配置测试代码Mybatis中简化编写的 SQL 片段定义代码片段引用代码片段项目目录动态 SQL 之if标签持久层 Dao 接口/** * 根据传入的参数条件 * @param user 查询的原创 2021-02-12 21:43:08 · 3580 阅读 · 11 评论 -
Mybatis连接池与事务深入
Mybatis连接池与事务深入Mybatis的连接池技术Mybatis连接池的分类Mybatis中数据源的配置Mybatis中DataSource的存取Mybatis中连接的获取过程分析Mybatis的事务控制JDBC中事务的回顾Mybatis中事务提交方式Mybatis自动提交事务的设置Mybatis的连接池技术在 Mybatis 中有连接池技术,它采用的是自己的连接池技术。配置位置是在 Mybatis 的 SqlMapConfig.xml 配置文件中,通过<dataSource type=”原创 2021-02-12 21:09:18 · 3671 阅读 · 9 评论 -
Mybatis中的SqlMapConfig.xml配置文件
Mybatis中的SqlMapConfig.xml配置文件SqlMapConfig.xml 中配置的内容和顺序properties(属性)第一种第二种在 classpath 下定义 jdbcConfig.properties 文件properties 标签配置此时的 dataSource 标签就变成了引用上面的配置typeAliases(类型别名)自定义别名mappers(映射器)项目文件结构SqlMapConfig.xml 中配置的内容和顺序-properties(属性) --property原创 2021-02-10 12:07:53 · 5226 阅读 · 21 评论 -
Mybatis基于传统dao层的开发(完整代码演示)
Mybatis基于传统dao层的开发(完整代码演示)项目结构持久层 Dao 接口持久层 Dao 实现类持久层映射配置测试类项目结构持久层 Dao 接口IUserDao:package com.keafmd.dao;import com.keafmd.domain.User;import java.util.List;/** * Keafmd * * @ClassName: IUserDao * @Description: 用户的持久层接口 * @author: 牛哄哄的柯南原创 2021-02-09 12:01:00 · 4012 阅读 · 16 评论 -
Mybatis的返回值深入
目录resultType 配置结果类型基本类型示例Dao 接口映射配置实体类类型示例Dao 接口映射配置特殊情况示例修改实体类Dao 接口映射配置测试查询结果修改映射配置resultMap 结果类型定义 resultMap映射配置测试结果resultType 配置结果类型(1)resultType 属性可以指定结果集的类型,它支持基本类型和实体类类型。我们在前面的 CRUD 案例中已经对此属性进行过应用了。(2)需要注意的是,它和 parameterType 一样,如果注册过类型别名的,可以直接使用原创 2021-02-08 22:51:43 · 5428 阅读 · 12 评论 -
Mybatis的参数深入
目录parameterType 配置参数使用说明注意事项传递 pojo 包装对象(使用QueryVo作为查询条件)编写 QueryVo编写持久层接口持久层接口的映射文件测试包装类作为参数parameterType 配置参数使用说明使用SQL 语句传参,使用标签的 parameterType 属性来设定。该属性的取值可以是基本类型,引用类型(例如:String 类型),还可以是实体类类型(POJO 类)。同时也可以使用实体类的包装类,本章节将介绍如何使用实体类的包装类作为参数传递。注意事项基原创 2021-02-08 22:27:27 · 3171 阅读 · 10 评论 -
Mybatis的CRUD操作【包含查询记录总条数、模糊查找】(完整代码演示)
Mybatis的CRUD操作目录结构完整代码目录结构完整代码pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.or原创 2021-02-08 20:55:31 · 3946 阅读 · 24 评论 -
Mybatis注解开发和编写dao实现类的方式
目录注解开发目录结构一:不需要映射配置文件 IUserDao.xml二:在IUserDao中使用@Select注解三:SqlMapConfig.xml中用注解,此处应该用class属性指定被注解的dao全限定类名测试类不变,运行结果相同编写dao实现类目录结构一:增加一个UserDaoImpl实现类二:测试类有所改变运行结果相同注解开发mybatis基于注解的入门案例:1、把IUserDao.xml移除,在dao接口的方法上使用@Select注解,并且指定SQL语句。2、同时需要在SqlMapCo原创 2021-02-08 13:17:32 · 5985 阅读 · 11 评论 -
Mybatis 框架快速入门(超详细)
目录MyBatis 框架概述JDBC 编程的分析jdbc 程序的回顾jdbc 问题分析Mybatis 框架快速入门Mybatis 框架开发的准备搭建 Mybatis 开发环境1、创建一个新的maven项目目录结构*2、在pom.xml中导入相关的依赖3、准备数据库4、编写User实体类5、编写持久层接口 IUserDao6、编写持久层接口的映射文件 IUserDao.xml7、编写 SqlMapConfig.xml 配置文件8、引入log4j.properties文件9、编写测试类运行结果可能遇到的错误Ex原创 2021-02-06 22:36:05 · 18264 阅读 · 19 评论 -
Error querying database. Cause: java.sql.SQLNonTransientConnectionException:报错解决
错误提示:Error querying database. Cause: java.sql.SQLNonTransientConnectionException:一般这样的提示是因为mysql-connector-java的版本和自己机器上的版本不一致,mysql-connector-java版本是8+/6+的驱动是不能连接mysql5+的数据库,换了5+的驱动版本就可以了。我错误的原因是我自己电脑的mysql版本是5+的,但是我在pom.xml中填写的version是8+,改成5+的就可以了。原创 2021-02-06 21:11:23 · 14034 阅读 · 13 评论 -
Could not find resource xxx/xxxx/xxx.xml报错解决
报错信息:The error may exist in com/keafmd/IUserDao.xmlCause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/keafmd/IUserDao.xml我在mybatis的入门案例中碰到了这个问题,提示找不到IUserD原创 2021-02-06 21:03:06 · 5404 阅读 · 11 评论