摘要:索引的分类 从存储结构上划分 BTree 索引(B+tree,B-tree) 哈希索引 FULLINDEX 全文索引 RTree 索引是存储引擎快速找到记录的一种数据结构,例如 MyISAM 引擎和 Innodb 引擎都使用 B+ Tree 作为索引结构,但二者在底层实现还是有些不同的。 Innod
阅读全文
随笔分类 - mybatis
摘要:注:数据结构与算法,这门学科从诞生到现在,自始至终都让人难以理解,但国外有一个比较厉害的程序员,为了帮助他人更好的理解数据结构,自己搭建了一个数据结构的动画演示平台,里面提供了非常多丰富的数据结构类型,我们在其中能以动画的形式观测数据结构的变化。 索引存储数据结构 1、哈希表 哈希表是一种以键-值(
阅读全文
摘要:sql标签:抽取可重用的sql片段,方便后面引用; sql抽取:经常将要查询的列名,或者插入用的例名抽取出来方便引用; include标签用来引用已经抽取出来的sql; include还可以自定义一些 property, sql标签内部就可以使自定义的属性; <sql id="Base_Column
阅读全文
摘要:在mybatis的mapper.xml文件中,我们可以使用#{}或${}的方式获取到参数,这些参数都需要提前我们在mapper.java接口文件中通过参数的方式传入参数才能取到 为了扩展参数,我们需要了解mybatis是怎么帮我们保管mapper.java中传入的参数的 进入Executor.jav
阅读全文
摘要:在yml配置文件中,配置mybatis时,一般有如下配置 mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl map-underscore-to-camel-case: true typeAlia
阅读全文
摘要:mybatis 中使用 sqlMap 进行 sql 查询时,经常需要动态传递参数,例如sql 如下: 在动态 SQL 解析阶段, #{ } 和 ${ } 会有不同的表现: #{ } 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符占位符 ?。 上面的例子就被解析为
阅读全文
摘要:官方文档:https://mybatis.org/mybatis-3/zh/configuration.html#plugins MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括: Executor (update, qu
阅读全文
摘要:在spring中使用mybatis时一般有下面的配置 查看注入的MapperScannerConfigurer实现 发现继承了BeanDefinitionRegistryPostProcessor, 注:BeanDefinitionRegistryPostProcessor继承自BeanFactor
阅读全文
摘要:1. where标签的作用:如果该标签包含的元素中有返回值,就插入一个where;如果where后面的字符是以AND和OR开头的,就讲他们剔除。 如果两个if条件不满足的时候,where标签包着的这一段代码就会被剔除掉,在SQL中就不会出现这一段代码。 2.set标签的作用:如果该标签包含的元素中有
阅读全文
摘要:【<if test="takeWay == '0'">】mybatis的if判断 单个的字符要写到双引号里面才行,改为<if test='takeWay == "1"'>或者改为<if test="takeWay == '1'.toString() "> .xml文件的部分代码 takeWay ==
阅读全文
摘要:Mybatis的运行过程分为两大步: 第1步,读取配置文件缓存到Configuration对象,用于创建SqlSessionFactory; 第2步,SqlSession的执行过程。相对而言,SqlSessionFactory的创建还算比较容易理解,而SqlSession的执行过程就不那么简单了,它
阅读全文
摘要:取不到中文注释字段的时候,可以试试下面的方法 下面的配置均指的是Mybatis Generator 的配置文件(一般是叫generatorConfig.xml)的配置: mysql 方法1: <jdbcConnection driverClass="${driver}" connectionURL=
阅读全文
摘要:@MapperScan:1.首先了解@Mapper 在接口上添加了@Mapper,在编译之后就会生成相应的接口实现类。 不过需要在每个接口上面进行配置,为了简化开发,就有了 @MapperScan。 @MapperScan: 指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应
阅读全文
摘要:平时我们在设计数据库表的时候总会设计 unique 或者 给表加上 primary key 的限制条件.此时 插入数据的时候 ,经常会有这样的情况:我们想向数据库插入一条记录: 若数据表中存在以相同主键的记录,我们就更新该条记录。 否则就插入一条新的记录。 ON DUPLICATE KEY UPDA
阅读全文
摘要:如果要在一个update里面执行多条更新语句,只需要在jdbc:url后面跟上allowMultiQueries=true的参数,比如: 1.用for循环通过循环传过来的参数集合,循环出N条sql, 2.用mysql的case when 条件判断变相的进行批量更新
阅读全文