在介绍MyBatis之前先简单了解几个概念:ORM,JPA。 ORM ORM(Object-Relationship-Mapping):是对象关系映射的意思,它是一种思想,是指将数据库中的每一行数据用对象的形式表现出来。 JPA JPA(Java-Persistence-API):是Java持久化接口的意思,它是JavaEE关于ORM思想的一套标准接口,仅仅是一套接口,不是具体的实现。 MyBatis概念 MyBatis是一个实现了JPA规范的用来连接数据库并对其进行增删改查操作的开源框架 (就和传统的JDBC一样…

2021年1月16日 0条评论 17点热度 阅读全文

吐槽 网上看了很多篇文章关于如何配置mybatis的logback日志的,复杂的简单的都有,但是有用的没几个,耽误了很多时间。通过对logback的学习,以下方式是一定可行的,希望可以为大家节省点时间。 配置 一、配置文件 可以有多种不同的实现,以下是将日志输出到控制台 mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 二、定制包的日志level logging: level: #你的repository的包 …

2020年12月15日 0条评论 15点热度 阅读全文

       Map:映射;Type:Java类型        resultMap 与 resultType、parameterMap 与  parameterType的区别在面试的时候被问到的几率非常高,出现的次数到了令人发指的地步,笔者认为有必要单独列一章郑重声明,共勉 resultMap & resultType              两…

2020年12月6日 0条评论 31点热度 阅读全文

SqlSessionFactory是创建SqlSession的工厂,但是创建过程中需要反复加载全局配置文件,这一点是十分耗时的,我们希望SqlSessionFactory对于一个数据库而言只有一个实例。单例模式的好处是可以重复的使用这个唯一的对象 创建方式 对构造函数进行私有化 对类加锁, 防止多线程环境造成对象不唯一 代码如下, openSqlSession返回一个SqlSession public class SqlSessionFactoryUtil { private static SqlSessionFa…

2020年12月6日 0条评论 23点热度 阅读全文

在介绍MyBatis之前先简单了解几个概念:ORM,JPA。 ORM ORM(Object-Relationship-Mapping):是对象关系映射的意思,它是一种思想,是指将数据库中的每一行数据用对象的形式表现出来。 JPA JPA(Java-Persistence-API):是Java持久化接口的意思,它是JavaEE关于ORM思想的一套标准接口,仅仅是一套接口,不是具体的实现。 MyBatis概念 MyBatis是一个实现了JPA规范的用来连接数据库并对其进行增删改查操作的开源框架 (就和传统的JDBC一样…

2020年12月6日 0条评论 19点热度 阅读全文

SpringBoot使用Mybatis注解进行一对多和多对多查询 GitHub的完整示例项目地址springboot-data 一、模拟的业务查询 系统中的用户user都有唯一对应的地址信息address,每个用户可以有多量车car,类似如下结构 |-- user |-- address |-- carList |-- car1 |-- car2 二、对应的实体类如下 @Data public class AddressPO { private Long id; /** * 省份 */ private String…

2020年12月6日 0条评论 28点热度 阅读全文

     从这篇博文开始我们学习一下Mybatis,希望大家提出宝贵的建议。   什么是Mybatis          MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS…

2020年12月6日 0条评论 13点热度 阅读全文

一、前言       前面的时候,小编向大家介绍了Mybatis的使用,总结来说,Mybatis注重的是写sql语句。针对单表 的增删改查还是比较好写的,直接写出SQL语句可以了,但是如果遇到了多表的关联查询,可能就会复杂了点。下面小编就向大家介绍如何进行多表的复杂查询 。 二、关联关系为一对一查询 方法一 使用resultType       思路:创建一个大实体Model,这个Model是和关…

2020年12月6日 0条评论 13点热度 阅读全文

概述 配置 1.MyBatis全局配置文件增加 2.映射文件中的标签调整包含databaseId属性 示例 增加个查询当前时间的接口 编写映射文件 单元测试 注意事项 概述 MyBatis-15MyBatis动态SQL之【bind】 bind标签并不能解决更换数据库带来的所有问题。 那么还有没其他的方式来支持不同的数据库呢 ? 答案是 使用if标签以及由MyBatis提供的databaseIdProvider数据库厂商标识配置 MyBatis可以根据不同的数据库厂商执行不同的SQL,这种多厂商的支持是基于映射语句中…

2020年12月6日 0条评论 13点热度 阅读全文

注解中的@Results     作用同resultMap    解决数据库字段和javabean名称不对应的映射问题 /** *定义resultMap返回结果类型映射 *查询全部用户 */ @Select("select * from user") //id为唯一标识, @Results(id="userMap",value={ //id默认为false,主键设置为true,column为数据库字段名,property为javabean属性名 …

2020年12月6日 0条评论 15点热度 阅读全文