generator mybatis
MyBatis
# MyBatis ## 一.简介 ### 1.是什么 MyBatis是一个优秀的基于java的**持久层框架**,它内部封装了JDBC,使开发者只需要关注SQL语句本身,而不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。 MyBatis通过XML或注解的方式将要执行的各 ......
mybatis-plus分页插件之count优化
分页插件配置 package com.example.demo.conf; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extens ......
周三 mybatis 动态查询
mapper package com.wzy.mapper; import com.wzy.pojo.Brand; import org.apache.ibatis.annotations.Param; import java.util.List; import java.util.Map; pub ......
mybatis mapper 底层原理
使用 SqlSession 的接口查询比较麻烦,MappedStatement 的 id 也是字符串容易出错,也不符合面向接口的编程方式。所以 mybatis 也支持使用 mapper 接口的方法来简化操作 ### 初始化 前面分析初始化过程的时候有说到 MappedStatement 的维护,这一 ......
Mybatis数据库模型-代码生成器
## pom文件添加 ```xml org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.3 com.github.pagehelper pagehelper-spring-boot-starter 1.3.0 com.alibaba dru ......
mybatis批量保存
<insert id="saveBatchForList" parameterType="java.util.List"> insert into T_PRICE_PPI_BASEWEIGHT (BASEYEAR,ORGCODE,ORGNAME, BASECODE, BASENAME,WEIGHT, ......
转:求求你们了,MyBatis 批量插入别再乱用 foreach 了,5000 条数据花了 14 分钟。。
转: 求求你们了,MyBatis 批量插入别再乱用 foreach 了,5000 条数据花了 14 分钟。。 MyBatis批量插入的五种方式,哪种最强??? ......
注解最后一篇利用注解整合mybatis
步骤:1.在pom中添加依赖,下方spring-jdbc中的版本号需要和最开始添加依赖的版本一致 2.在config中创建配置类,在配置类里面利用@bean创建方法返回数据库信息,同时扫描包,将包放入IOC容器中 总结:整合Batista就做两件事:1.创建会话工厂 2.生成目标包(dao层/map ......
mybatie ---增删改查的封装--升级版理解
实体类注解:@TableField(exist = false)表示不是数据库表字段 //一般情况下就用这个注解,默认表单传进来的数据@TableField("role_name") private String roleName;//一般针对主键id,会有特别的注解@TableId,type类型有 ......
我真的不想再用mybatis和其衍生框架了选择自研亦是一种解脱
# 我真的不想再用mybatis和其衍生框架了选择自研亦是一种解脱 [文档地址](https://xuejm.gitee.io/easy-query-doc/) https://xuejm.gitee.io/easy-query-doc/ [GITHUB地址](https://github.com/ ......
mybaties --- insert的底层封装代码
//提交,当前的对象到数据库//.save()方法是IService接口提供的,而EmployeeService接口继承了IService接口employeeService.save(employee); /*default boolean save(T entity) { return SqlHe ......
MyBatis-Plus数据权限控制
平时开发中遇到根据当前用户的角色,只能查看数据权限范围的数据需求。列表实现方案有两种,一是在开发初期就做好判断赛选,但如果这个需求是中途加的,或不希望每个接口都加一遍,就可以方案二加拦截器的方式。在mybatis执行sql前修改语句,限定where范围。 当然拦截器生效后是全局性的,如何保证只对需要 ......
MyBatis-Plus这样实现动态SQL
拦截器介绍 拦截器是一种基于 AOP(面向切面编程)的技术,它可以在目标对象的方法执行前后插入自定义的逻辑。MyBatis 定义了四种类型的拦截器,分别是: Executor:拦截执行器的方法,例如 update、query、commit、rollback 等。可以用来实现缓存、事务、分页等功能。 ......
【问题记录】【Mybatis-Plus】并发下的 QueryWrapper 的查询结果异常问题
1 问题现象 有一次并发情况下,多个线程共用一个 QueryWrapper 导致查询的结果异常,比如: 我们来看下执行的结果: 发现有两个的执行结果异常的,我们再看一下执行的SQL发现: 2 原因分析 我们思考的出发点就是为什么有的SQL后边是空的呢,我们看我们的SQL: 那我们看看 sqlSegm ......
【问题记录】【Mybatis-Plus】多个参数 QueryWrapper 下的查询结果异常问题
1 问题现象 记一次,一个 Mapper接口,用了多个 QueryWrapper 导致查询的结果异常,比如: 我们直接看执行的SQL语句: 2 原因分析 遇到问题,我们要从现象中学会分析,发现第二个查询的参数取到第一个的了,串台了呀,那我们是不是要打印下每个 QueryWrapper 的SQL片段出 ......
springMVC Mybatis ssm整合 post请求json 响应json数据配置
1、pom.xml <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>2.0.32</version> </dependency> 2、springmvc-config.xml ......
MyBatis 面试题
1、什么是Mybatis? 1、Mybatis 是一个半 ORM( 对象关系映射)框架,它内部封装了 JDBC,开发时只需要关注 SQL 语句本身, 不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。程序员直接编写原生态 sql,可以严格控制 sql 执行性能, 灵活度 ......
使用 MyBatis 相关依赖包(20230725)
开发 Spring Boot 应用时使用 MyBatis 的相关依赖包…… 说明:本文首次发布于 2023-7-25 10点(北京时间),其中的“最新”是这个时间点最新。 0、序章 梳理开发 Spring Boot 项目时,使用各种 MyBatis 相关依赖包的版本 及其 关系。 1、Spring ......
Mybatis
# 基础知识 什么是Mybatis 它是一款基于java的半自动ORM持久层框架,具有较高的SQL灵活性,支持高级映射(一对一,一对多),动态SQL,延迟加载和缓存等特性,但它的数据库无关性较低。 什么是ORM? Object Relation Mapping,对象关系映射。对象指的是Java对象, ......
Mybatis 一对多处理
测试环境搭建 1:导入lombok (不用lombok忽略) 2:新建实体类 Teacher,Student 3:建立Mapper接口 4:建立Mapper.xml文件 5:在核心配置文件中绑定注册我们的Mapper接口 6:测试 按照结果嵌套处理: <select id="getTeacher" ......
Mybatis 多对一处理
多对一处理: 多个学生,对应一个老师 对于学生而言,关联...多个学生 关联一个老师(多对一) 对于老师而言,集合,一个老师,有很多学生(一对多) 测试环境搭建 1:导入lombok (不用lombok忽略) 2:新建实体类 Teacher,Student 3:建立Mapper接口 4:建立Mapp ......
周一 mybatis
数据库连不上改半天,映射文件名写错了找半天,对难受的从 MySQL Connector/J 8.0.20 版本开始,驱动包名发生了变化,需要使用 "com.mysql.cj.jdbc.Driver" 因为.cj错了找半天 还好最后解决了 ......
Mybatis
## 一、MyBatis 1.MyBatis是一款优秀的持久层框架,用于简化JDBC的开发。 2.官网:https://mybatis.org/mybatis-3/zh/index.html ## 二、JDBC 1.JDBC:(Java DataBase Connectivity),就是使用Java ......
mybatis 插件机制
### PageHelper 先看 PageHelper 的插件签名 ```java @Intercepts( { @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.cl ......
Mybatis使用注解实现 CRUD
可以在工具类创建时实现自动提交事务 public static SqlSession getSqlSession(){ return sqlSessionFactory.openSession(true);//改成 true 可自动提交事务 ,不需要commit }编写接口,增加注解 public ......
Springboot 整合mybatis 加导出excel
# 快速写一个springboot,mybatis的demo,最后用excel导出。 ## 第一步,创建一个新maven ![](https://img2023.cnblogs.com/blog/3242898/202307/3242898-20230723191642994-2086192679. ......
Mybatis入参与返回值类型
mapper接口入参 入参设置方式: 1.单独的参数与对象均直接按默认属性名匹配 (得有对应get、set方法) 2.@param 注解,注解名称代表参数对象 3. package com.Dao; import com.person.People; import org.apache.ibatis ......
Mybatis的嵌套查询-column多条件
## Mybatis的嵌套查询 ### 一、结构 创建三个表`user` `role` `user_role` 简单展示一下嵌套查询的例子,其实就是`Collection`放到 `ResultMap`,下一层把上一层的查询结果作为条件传入。 ```sql -- master.`user` defin ......
MyBatis 常用工具类
## SQL 类 MyBatis 提供了一个 SQL 工具类,使用这个工具类,我们可以很方便在 Java 代码动态构建 SQL 语句 ```java String newSql = new SQL() ({ SELECT("P.ID, P.USERNAME, P.PASSWORD, P.FULL N ......