
Mybatis&&MybatisPlus
对于MybatisAndMybatisPlus的学习手记
至学者
有道无术,术尚可求,有术无道,止于术!
展开
-
mybatis中的resultType
Mybatis中常用的resultType原创 2022-07-25 23:43:49 · 797 阅读 · 1 评论 -
回顾Mybatis的基本构成
一 概述Mybatis是我们经常使用的ORM框架。二 MyBatis的核心组件SqlSessionFactoryBuilder(构造器):它会根据配置信息或者代码来生成SqlSessionFactory(工厂接口)。SqlSessionFactory:依靠工厂来生成SqlSession(会话)。SqlSession:是一个既可以发送SQL去执行并返回结果,也可以获取Mapper的接口。SQL Mapper:它是Mybatis的一个新组件...原创 2022-03-01 22:28:57 · 255 阅读 · 0 评论 -
Mybatis多次请求数据库,如何创建SqlSession会话
一 创建多个SqlSession会话 方法调用栈one(){//SQL1//SQL2 two(){ //SQL3 three(){ //SQL4}}} SqlSession的创建过程和销毁的过程二 创建一个SqlSessio...原创 2022-02-22 17:57:23 · 717 阅读 · 1 评论 -
回顾MyBatis动态SQL
一 概述 参考资料:mybatis – MyBatis 3 | 动态 SQLhttps://mybatis.org/mybatis-3/zh/dynamic-sql.html二 个人使用和理解 个人经常使用where,if对查询条件拼接,然后实现查询逻辑处理。 未完待续......原创 2021-11-18 19:01:28 · 798 阅读 · 0 评论 -
Mybatis-plus的简单配置
配置类@Configuration@MapperScan({"com.calm.encode.mapper"})public class MybatisPlusConfig { @Value("${system.mybatis.over-flow}") private boolean overFlow; /** * @Description : mybatis-plus分页插件 */ @Bean public Pag...原创 2021-08-02 08:58:25 · 197 阅读 · 0 评论 -
mybatis ![CDATA[ ]] 使用避免特殊字符
一 概述 在Mybatis的xml文件中编写SQL的时候经常会使用类似:< > =等特殊字符,但是在解析xml文件的时候它们会被转义,当我们不希望出现这种情况的时候,我们可以通过加上防止转义的内容:<![CDATA[ ]]>. 上述为xml的语法,在<![CDATA[ ]]>中的内容都会被xml解析器所忽略,此时如果我们将<if test=""></if> <where></whe...原创 2021-07-17 09:26:13 · 958 阅读 · 0 评论 -
useGeneratedKeys参数的使用
一 概述 一般在Mybatis手动编写SQL时使用该参数中,是的insert数据之后生成的对象会默认带有zhu'j原创 2021-06-03 21:01:50 · 805 阅读 · 2 评论 -
MyBatis Generator
一 概述官方文档二 XML配置文件generatorConfig.xml官方文档generatorConfig.xml配置文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/myba原创 2021-05-17 22:23:45 · 170 阅读 · 0 评论 -
MybatisPlus通过SelectOne只查询某些字段
一 概述PrintCouponEntity printCouponEntity = printCouponMapper.selectOne(new QueryWrapper<PrintCouponEntity>().select("name").eq("id", 6));只是查询字段name原创 2021-05-13 22:05:41 · 2830 阅读 · 0 评论 -
MybatisPlus使用过程的Invalid bound statement (not found)问题
一 概述该文章记录本人使用MybatisPlus时踩过的坑。二Invalid bound statement (not found)问题的解决分析过程:大概率是扫包时没有找到文件1. 首先判断是否在springboot启动类上有相应配置或者是在项目中存在相应的配置类。@SpringBootApplication@ComponentScan(basePackages = {"com.zero.zookeeperconfig", "com.zero"})@MapperScan( ba.原创 2021-04-24 17:46:57 · 2305 阅读 · 1 评论 -
MybatisPlus代码生成器的简单实现
一 概述mybatis和mybatisplus中都有代码生成器,这里简单介绍mybatisplus中的代码生成器简单实现与使用!二 代码生成器的实现public class CodeGenerator { public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalCo原创 2021-04-20 08:57:44 · 454 阅读 · 2 评论 -
回顾阿里巴巴Java开发手册中分层领域模型规约之DO,DTO,BO,AO,VO,POJO
一 DODO即Data Object:与数据库表结构一一对应,通过DAO层向上传输数据源对象。二 DTODTO即Data Transfer Object:数据传输对象,Service层向外传输的对象,可以简单的理解为前端调用服务应用时传入的对象参数。DTO存在两种形式:在后端应用中,它以请求入参的形式存在,也就是在controller中定义的参数。 在前端应用中,它作为JS中的对象可以简单的理解为JSON(JavaScript Object Notation, JS 对象简谱),即aj原创 2021-03-13 15:59:19 · 1401 阅读 · 0 评论 -
回顾Mybatisplus的一些特点
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),转载 2021-03-09 10:22:23 · 256 阅读 · 0 评论 -
MyCat实现读写分离与高可用
一 概述Mysql作为被广泛使用的开源数据库,在实际开发过程中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是从安全性,高可用性以及高并发等各个方面。因此,一般都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。二 Mybatis实现Mysql读写分离配置信息实例mysqldb.propertis#主数据库数据源jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.原创 2021-02-21 00:16:30 · 279 阅读 · 0 评论 -
MySQL8.0中的建表语句问题
一 概述按照MySQL5.7版本格式完成建表之后会一直提示报错,错误如下:'Student' is not valid at this position,expecting an identifier不可行的SQL Scriptcreate table 'Student' ( 'sid' int(10) primary key auto_increment, 'sname' varchar(16), 'sage' int(10), 'ssex' varchar原创 2021-02-01 18:52:34 · 5505 阅读 · 1 评论 -
我理解的Mybatis
一 概述Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身。节省了处理加载驱动,创建连接,创建statement等繁杂问题的时间。原创 2020-10-19 23:40:16 · 163 阅读 · 0 评论 -
Mybatis中的#{}与${}以及SQL注入问题
一 概述Mybatis的Mapper.xml中的SQL引用传递过来参数的方式为:#{parameterName}和${parameterName}。二 #{parameterName}与${parameterName}#{parameterName}#{parameterName}实现的是向prepareStatement中的预处理中设置参数值,sql语句中的#{}表示一个占位符?,当程序给该位置传入实际的数据内容时,该占位符?会被实际的数据内容替换。#{parameterName.原创 2020-09-03 17:26:15 · 908 阅读 · 0 评论 -
探究Mybatis逆向工程的相关配置
一 项目构建选择构建Maven项目,这里选择webapp 输入GroupId和ArtifectId 选择项目所在目录 二 项目目录结构三 项目的pom文件主要内容代码<properties> <org.springframework.version>4.0.0.RELEASE</org.springframework.version> <project.build.sourceEn原创 2020-05-22 22:58:08 · 155 阅读 · 0 评论 -
MySQL中count(field),count(*),count(常量)的区别
一 概要最近在研究mybatis的时候发现**Mapper.xml在编写SQL的时候发现聚合函数(count())使用起来挺方便,count() 是一个聚合函数,对于返回的结果集,一行行地判断,如果 count 函数的参数不是 NULL,累计值就加 1,否则不加,最后返回累计值。<select id="checkEmail" parameterType="string" resultType="int"> select count(*) from mark_user w原创 2020-05-22 19:21:26 · 793 阅读 · 0 评论