目录前言流程图Configuration动态代理getMapper()MapperMethodexecuteForManyDefaultSqlSessionExecutorResultSetHandler补充参数转换设置SQL参数 前言关于Mybatis以前也写过几篇,但是没有写过他的执行过程,这几天又重温了一下,记录在本章中,Mybatis的执行过程比Tomcat简单多了,在以前学习Tomca            
                
         
            
            
            
            MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。一、理解什么是MyBatis?MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-02 20:16:08
                            
                                412阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            核心接口和类MyBatis框架的核心对象MyBatis框架的核心对象包括核心接口和类SqlSessionFactory实例是MyBatis框架应用程序的核心。SqlSessionFactory实例由SqlSessionFactoryBuilder对象根据XML配置文件或Configuration类的实例进行创建。通过SqlSessionFactory实例可获得SqlSession实例包括执行SQL            
                
         
            
            
            
            一、一对多双向关联处理has-one关系需要用到association元素,而处理has many关系则需要用到collection元素。例如本例中,假设一名教师可同时指导多名学生,下面就来介绍如何使用collection元素来实现这种映射,具体的任务是查询出教师及其指导的多个学生的信息为教师实体增加指导学生集合的属性如下:private List<Student> supStuden            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-13 09:57:39
                            
                                151阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录你对MyBatis的理解?MyBatis的优缺点有哪些?MyBatis与Hibernate有哪些不同?MyBatis中的#{} 和 ${} 有什么不同?*MyBatis是如何进行分页的?分页插件的原理是什么?MyBatis有哪几种分页方式?MyBatis逻辑分页和物理分页的区别是什么?MyBatis是否支持延时加载?如果支持,它的实现原理是什么?说一下MyBatis的一级缓存和二级缓存?            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-28 14:11:11
                            
                                52阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Mybatis查询语句的入参类型基本类型javabean类型:使用时要与 属性名对应 根据对象的属性名获取属性值map类型 :匹配參數集合map中key的名字数组|list类型:  foreach遍历参数list或者数组  collection=“array” 参数类型 array | list  item : 指代每次循环从集合或者数组中拿出的数据(变量名)  separator: 每个数据之间            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-27 13:02:51
                            
                                227阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            
有很多的接口都只是执行个SQL查询之后就直接返回给前端,那么我们能不能把这些SQL保存在数据库中,调用一个固定的接口就能根据传参查询出想要的数据呢?或者当为了加减个字段就得修改代码重启服务的痛苦能不能减少点呢?下面就是方案。
调用直接传入SQL语句(可以选择存数据库)和参数,SQL语句写法和在XML内的写法保持一致即可,包括Mybatis标签等等,参数选择使用通用的Map,可以从接口接收任            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-07-29 11:37:21
                            
                                6498阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            有很多的接口都只是执行个SQL查询之后就直接返回给前端,那么我们能不能把这些SQL保存在数据库中,调用一个固定的接口就能根据传参查询出想要的数据呢?或者当为了加减个字段就得修改代码重启服务的痛苦能不能减少点呢?下面就是方案。 调用直接传入SQL语句(可以选择存数据库)和参数,SQL语句写法和在XML ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-29 11:36:00
                            
                                583阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            在 Spring 里面,我们不是直接使用 DefaultSqlSession 的,而是对它进行了一个封装,这个 SqlSession 的实现类就是SqlSessionTemplate。这个跟 Spring 封装其他的组件是一样的,比如 JdbcTemplate,RedisTemplate 等等,也是 Spring 跟 MyBatis 整合的最关键的一个类。为什么不用直接使用 DefaultSqlS            
                
         
            
            
            
            一、概述MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap,resultType是直接表示返回类型的,而resultMap则是对外部ResultMap的引用,但是resultType跟resultMap不能同时存在。在MyBatis进行查询映射时,其实查询出来的每一个属性都是放在一个对应的Map里面的,其中键是属性名,值则是其对应的值。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-11 20:50:42
                            
                                14阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            代码:import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
    //执行select
    private List<Map<String, Object&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-15 09:15:21
                            
                                217阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            之前用JPA可以在@Query注解上拼接sql,实现动态查询;现在用mybatis,如何实现sql的动态拼接参数举例,在JPA中可以实现类似于下面的sql拼接plateNumber2 = plateNumber2 + "," + plateNumber;
String[] split = plateNumber2.split(",");
StringBuffer stringBuffer = ne            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-15 09:56:39
                            
                                371阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            java有java的数据类型,数据库有数据库的数据类型,那么在往数据库中插入数据的时候是如何把java类型当做数据库类型插入数据库?在从数据库读取数据的时候又是如何把数据库类型当做java类型来处理呢? mybatis中jdbcType时间类型jdbcType = DATE , 只传入年月日  (数据库中的时间为yyyy-MM-dd)jdbcType = TIME , 只传入时            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-20 17:37:26
                            
                                85阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # Java中执行SQL语句
在Java开发中,常常需要与数据库进行交互,执行SQL语句是非常常见且重要的操作。本文将介绍在Java中如何执行SQL语句,并提供相应的代码示例。
## JDBC简介
Java Database Connectivity(JDBC)是Java平台上用于执行SQL语句的API。它提供了一种标准的方式来连接和操作各种类型的关系型数据库,如MySQL、Oracle、S            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-12-19 07:59:20
                            
                                115阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            mybatis执行自定义SQLMybatis 直接执行SQL好久不更新博客了,今天开发遇到一个问题就是如何在mybatis中直接执行sql,直接上代码:<s            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-13 10:53:04
                            
                                899阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Spring整合MyBatis就是把Spring和MyBatis应用到同一个项目中。其中MyBatis提供数据库相关的操作,完成对象数据和关系数据的转换;Spring完成项目的管理,通过IOC和AOP完成依赖注入,事务管理等。1.建立maven项目,导入依赖<!--       Spring上下文容器 -->
        <dependency>            
                
         
            
            
            
            最近刚学完MyBatis,趁着大好机会,总结一下它的执行流程,面试也爱问这个第一步、       首先Mybaitis自己的一个Resources类会去调用一个叫getResourceAsStream()的方法加载配置MyBatis的核心配置文件,得到一个流对象。(本质上还是走的java.lang包下的ClassLoader类加载器的getResourceAsStream)源码:本质上还是去使            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-20 18:02:35
                            
                                247阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.mybatis判断是否为空或null 
<if test="type!=null and type!=''">  
    AND type = #{type}  
</if> 
2.Mybatis中的like查询 
今天要做一个模糊查询
用的Mybatis
开始写的是:
select id,bookName,author,publisher,donor,stat            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-01-05 20:57:00
                            
                                152阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            场景:sql由模板配置动态传参进来,并且要支持动态标签的sql/** * 报表Mapper * * @author Yangqi.Pang */public interface ReportMapper {    /**     * select     *     * @param sql      sql     * @param fieldMap fieldMap     * @return            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-04-25 10:09:04
                            
                                431阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1:乐观锁1.1:乐观锁简介乐观锁:总是假设最好的情况,在读取数据的使用不会发生并发问题,但在更新的时候比较原数据是否被其他线程发生了改变。主要通过通过版本号机制或CAS算法实现,适用于读多写少的应用场景。版本号机制:在数据库表中加一个版本号version字段,表示数据被修改的次数,在修改数据前先读取该表中的版本号字段,在修改的使用对比是否是自己读取出来的版本号如果是则进行更新操作并版本号(ver