mybatis

MyBatis笔记

Mybatis简介 MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBatis。代 ......
MyBatis 笔记

Mybatis-Plus如何自定义SQL注入器?

有关Mybatis-Plus常用功能之前有做过一篇总结: MyBatisPlus常用功能总结!(附项目示例) 一、什么是SQL注入器 我们在使用Mybatis-Plus时,dao层都会去继承BaseMapper接口,这样就可以用BaseMapper接口所有的方法, BaseMapper中每一个方法其 ......
Mybatis-Plus Mybatis Plus SQL

Mybatis-关联关系映射

1.一对多 1.1.导入数据表 -- 一对多 -- 客户表(主表) create table t_customer ( customer_id int primary key not null auto_increment, customer_name varchar(50) not null ); ......
Mybatis

Mybatis中 ${} 和 #{} 的用法与区别

#{}:将传入的数据都当成一个字符串,会对传入的变量自动加一个单引号。如:user_id = #{userId},如果传入的值是111,那么解析成sql时的值为user_id = '111',如果传入的值是id,则解析成的sql为user_id = 'id'。 ${}:将传入的参数直接显示生成在sq ......
Mybatis

mybatis全局变量 (mybatis.configuration.variables) 的应用

mybatis.configuration.variables是一个可自定义的全局变量: 在 application.yml 中定义: mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.exampl ......

mybatis.type-aliases-package 的作用

在mapper.xml文件中的resultMap的type或者parameterType会用到自定义的POJO。 如果在 application.yml 中没有配置 mybatis.type-aliases-package 的话,就需要写全限定类名: <select id="selectByStud ......

MyBatis

1.简介 MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java ......
MyBatis

Mybatis-plus

工具 根据 SQL 语句 来生成 类文件的 在线生成器 http://java.bejson.com/generator/ 资料 已解决的问题列表 https://gitee.com/baomidou/mybatis-plus/issues?assignee_id=&author_id=&branc ......
Mybatis-plus Mybatis plus

Springboot集成MyBatis进行开发

引入相关的依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> ​ <!--引⼊springb ......
Springboot MyBatis

MyBatis中XXMapper示例记录

XXMapper.xml的结构示例如下,包括<resultMap>、<id>、<result>、<select>、<update>、<foreach>、<if>标签的使用: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC ......
示例 XXMapper MyBatis

【随手记】解决mybatis返回List<map>类型的数据时 无序 并且 不能返回空值

#返回结果无序 希望表格的列能根据数据库查出来的数据保持一致,但是返回页面的结果集是无序 在mybatis中使用List<Map>结构接收数据,发现输入的sql语句结果并不是按照输入的字段名顺序返回的。 例如输入 select col1,col2,col3 from table 却返回 | col2 ......
手记 mybatis 类型 数据 List

Mybatis 中的 @Mapper, @MapperScan, @Repository 的用法于区别

@Mapper @Mapper是mybatis自身带的注解。 使用@Mapper可以不使用 @MapperScan 包扫描而创建dao接口实现类对象。 @MapperScan 有时候当我们有很多 mapper 接口时,就需要写很多 @Mapper 注解,这样很麻烦,有一种简便的配置化方法便是在 Sp ......
MapperScan Repository Mybatis Mapper

Mybatis 中 foreach 的四种用法

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。 foreach元素的属性主要有 item,index,collection,open,separator,close。 item表示集合中每一个元素进行迭代时的别名, index指 定一个名字,用于表示在迭代过程中,每次 ......
Mybatis foreach

springboot mybatis 事务管理

本文主要讲述springboot提供的声明式的事务管理机制。 一、一些概念 声明式的事务管理是基于AOP的,在springboot中可以通过@Transactional注解的方式获得支持,这种方式的优点是: 1)非侵入式,业务逻辑不受事务管理代码的污染。 2)方法级别的事务回滚,合理划分方法的粒度可 ......
事务管理 springboot 事务 mybatis

mybatis MetaObjectHandler重复字段自动填充与线程变量ThreadLocal的巧妙联合使用方法

1.重复字段自动填充 在对数据库crud时,相信很多人都写过这样的代码,在多个service中反复的对诸如createTime,updateTime,createUser,updateUser这样的字段进行反复的set操作。很显然这样的代码时相当烦杂的,那么有没有一种方法能够让程序全局对这样的字段进 ......

Mybatis_05 注解CRUD

Mybatis_05 注解CRUD 1、面向接口编程 大家之前都学过面向对象编程,也学习过接口,但在真正的开发中,很多时候我们会选择面向接口编程 根本原因 : 解耦 , 可拓展 , 提高复用 , 分层开发中 , 上层不用管具体的实现 , 大家都遵守共同的标准 , 使得开发变得容易 , 规范性更好 在 ......
注解 Mybatis CRUD 05

整合Mybatis

步骤: 在pom.xml中导入相关jar包,==注意版本号== junit <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> mybat ......
Mybatis

mybatis代码

/* //根据id查询详情 public void selectById() throws IOException { //接受参数 int id = 1; //现在是固定数据,以后会变成动态数据 //1. 获取SqlSessionFactory String resource = "mybatis ......
mybatis 代码

Mybatis相关

Mybatis是如何进行分页的?分页插件的原理是什么? Mybatis使用RowBounds对象进行分页,它是针对ResultSet结果集执行的内存分页,而非物理分页。 可以在sql内直接书写带有物理分页的参数来完成物理分页功能,也可以使用分页插件来完成物理分页。 分页插件的基本原理是使用Mybat ......
Mybatis

简单模仿mybatis plus

package org.nobject.common.db;/** * TODO * * @author gaozhengxing * @date 2023-04-08 11:55 */import javassist.ClassPool;import org.nobject.common.db.m ......
mybatis plus

spring注解整合mybatis

引入依赖 <!--mybatis-spring与mybatis使用低版本适配--> <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring --> <dependency> <groupId>org.mybatis</gr ......
注解 mybatis spring

Mybatis-Plus详解(一篇带入了解底层原理)

一. MP简介 我们知道,Mybatis属于一个半自动的ORM框架。之所以说Mybatis是一个半自动的ORM框架,原因是它还需要我们自己在注解或是映射文件中编写SQL语句,并没有实现完全的自动化。SQL语句的编写,虽然增加了项目和业务需求实现的灵活性,但对一些基本表的操作而言,无疑增加了数据库操作 ......
Mybatis-Plus 底层 原理 Mybatis Plus

mybatis

1.框架概述 1.1 什么是框架 程序开发中的框架往往是对常见功能的封装,通常与具体业务无关,也可以认为是软件的半成品。程序框架理解为基础或者机械标准件(例如螺丝螺母标准的机械部件)。 假如你要造一辆马车,在没有框架的情况下,你需要自己去伐木,去把木头做成木板,木棍,然后组成轮子,门,等部件,然后组 ......
mybatis

如何在 Mybatis 中优雅地使用枚举

前言 Mybatis 遇到字段为枚举时无法解析成我们想要的数据 MyBatis 内置枚举转换器 org.apache.ibatis.type.EnumTypeHandler 和 org.apache.ibatis.type.EnumOrdinalTypeHandler EnumTypeHandler ......
Mybatis

mybatis

mybatis 1.什么是mybatis mybatis是一款优秀的持久层框架,用于简化JDBC的开发 2.使用入门 【第一步】准备工作:创建数据库和表 【第二步】创建springboot工程,引入Mybatis的相关依赖,配置Mybatis(数据库连接信息) 在springboot项目中,可以编写 ......
mybatis

Mybatis笔记

一、初识Mybatis 1.简介 什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 ......
Mybatis 笔记

14.mybatis-plus学习

1.表和创建的实体类不一致比如: 表名t_user 实体类是User 解决:User类上加@TableName("t_user") 或者,全局表统一加: # 设置mybatis-plus的全局配置:global-config: db-config: #设置实体类对应的前缀 table-prefix: ......
mybatis-plus mybatis plus 14

MyBatis常见问题

Mybatis常见问题 1,大于号、小于号在sql语句中的转换 使用 mybatis 时 sql 语句是写在 xml 文件中,如果 sql 中有一些特殊的字符的话,比如< ,<=,>,>=等符号,会引起 xml 格式的错误,需要替换掉,或者不被转义。 有两种方法可以解决:转义字符和标记 CDATA ......
常见问题 常见 MyBatis 问题

SpringBoot之整合MyBatis

1. 引入依赖 <!-- mybatis相关依赖 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2 ......
SpringBoot MyBatis

[mybatis-config.xml] 模板

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.d ......
mybatis-config 模板 mybatis config xml