10 2019 档案

摘要:MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑 MySQL 触发器 阅读全文
posted @ 2019-10-30 20:22 殷建卫 阅读(763) 评论(0) 推荐(0) 编辑
摘要:MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑 MySQL 触发器 阅读全文
posted @ 2019-10-30 20:13 殷建卫 阅读(4541) 评论(0) 推荐(1) 编辑
摘要:MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑 MySQL 触发器 阅读全文
posted @ 2019-10-30 19:54 殷建卫 阅读(3043) 评论(0) 推荐(0) 编辑
摘要:转载:《mysql 行转列 列转行》 行转列 准备数据: 查询数据表中的内容: 如果我们需要将 subject 字段的多行内容选出来,作为结果集中的不同列,并根据 userid 进行分组显示对应的score,怎么实现呢? 使用 case...when....then 进行行转列 使用 IF() 进行 阅读全文
posted @ 2019-10-30 19:49 殷建卫 阅读(7930) 评论(0) 推荐(0) 编辑
摘要:MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑 MySQL 触发器 阅读全文
posted @ 2019-10-30 19:44 殷建卫 阅读(4519) 评论(0) 推荐(0) 编辑
摘要:MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑 MySQL 触发器 阅读全文
posted @ 2019-10-30 19:40 殷建卫 阅读(2098) 评论(0) 推荐(0) 编辑
摘要:MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑 MySQL 触发器 阅读全文
posted @ 2019-10-30 19:39 殷建卫 阅读(468) 评论(0) 推荐(0) 编辑
摘要:MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑 MySQL 触发器 阅读全文
posted @ 2019-10-30 19:31 殷建卫 阅读(261) 评论(0) 推荐(0) 编辑
摘要:MySQL 基础篇 三范式 MySQL 军规 MySQL 配置 MySQL 用户管理和权限设置 MySQL 常用函数介绍 MySQL 字段类型介绍 MySQL 多列排序 MySQL 行转列 列转行 MySQL NULL 使用带来的坑 MySQL AND 和 OR 联合使用带来的坑 MySQL 触发器 阅读全文
posted @ 2019-10-30 19:28 殷建卫 阅读(226) 评论(0) 推荐(0) 编辑
摘要:本章通过分析 mybatis-spring-x.x.x.jar Jar 包中的源码,了解 MyBatis 是如何与 Spring 进行集成的。 Spring 配置文件 MyBatis 与 Spring 集成,在 Spring 配置文件中配置了数据源、SqlSessionFactory、自动扫描 My 阅读全文
posted @ 2019-10-29 11:08 殷建卫 阅读(1310) 评论(0) 推荐(0) 编辑
摘要:本章简单介绍一下 MyBatis 的事务模块,这块内容比较简单,主要为后面介绍 mybatis-spring-1.**.jar(MyBatis 与 Spring 集成)中的事务模块做准备。 类图结构 MyBatis 事务模块的代码在 transaction 包下: 根据包的分类,提供了两种事务实现: 阅读全文
posted @ 2019-10-29 10:57 殷建卫 阅读(466) 评论(0) 推荐(0) 编辑
摘要:本章介绍 MyBatis 提供的数据源模块,为后面与 Spring 集成做铺垫,从以下三点出发: 描述 MyBatis 数据源模块的类图结构; MyBatis 是如何集成第三方数据源组件的; PooledConnection 设计初衷猜想; 类图结构 MyBatis 数据源部分的代码在 dataso 阅读全文
posted @ 2019-10-29 10:55 殷建卫 阅读(653) 评论(0) 推荐(0) 编辑
摘要:本章主要描述 MyBatis 插件模块的原理,从以下两点出发: MyBatis 是如何加载插件配置的? MyBatis 是如何实现用户使用自定义拦截器对 SQL 语句执行过程中的某一点进行拦截的? 示例准备 首先准备两个拦截器示例,代码如下。 @Intercepts({ @Signature(typ 阅读全文
posted @ 2019-10-29 10:50 殷建卫 阅读(329) 评论(0) 推荐(0) 编辑
摘要:上一章的案例,配置日志级别为 debug,执行一个简单的查询操作,会将 JDBC 操作打印出来。本章通过 MyBatis 日志部分源码分析它是如何实现日志打印的。 在 MyBatis 的日志模块中有一个 jdbc package,package 中的内容如下图所示: BaseJdbcLogger 是 阅读全文
posted @ 2019-10-29 10:45 殷建卫 阅读(355) 评论(0) 推荐(0) 编辑
摘要:在 Java 开发中常用的日志框架有 Log4j、Log4j2、Apache Common Log、java.util.logging、slf4j 等,这些日志框架对外提供的接口各不相同。本章详细描述 MyBatis 是如何通过适配器的方式集成和复用这些第三方框架的。 日志适配器 MyBatis 的 阅读全文
posted @ 2019-10-29 10:43 殷建卫 阅读(475) 评论(0) 推荐(0) 编辑
摘要:本章主要描述 MyBatis 资源加载模块中的 ClassLoaderWrapper 类和 Java 加载配置文件的三种方式。 ClassLoaderWrapper 上一章的案例,使用 org.apache.ibatis.io.Resources#getResourceAsStream(java.l 阅读全文
posted @ 2019-10-29 10:41 殷建卫 阅读(505) 评论(0) 推荐(0) 编辑
摘要:本章通过一个简单的例子,来了解 MyBatis 执行一条 SQL 语句的大致过程是怎样的。 案例代码如下所示: public class MybatisTest { @Test public void selectByPrimaryKey() throws IOException { // 3 St 阅读全文
posted @ 2019-10-29 10:31 殷建卫 阅读(1648) 评论(0) 推荐(0) 编辑
摘要:MyBatis 的整体架构分为三层, 分别是基础支持层、核心处理层和接口层,如下图所示。 基础支持层 反射模块 该模块对 Java 原生的反射进行了良好的封装,提供了更加简洁易用的 API ,方便上层使调用,并且对反射操作进行了一系列优化,例如缓存了类的元数据,提高了反射操作的性能。 类型转换模块 阅读全文
posted @ 2019-10-29 10:20 殷建卫 阅读(409) 评论(0) 推荐(0) 编辑
摘要:MyBatis 的动态 SQL 包括以下几种元素: 详细的使用参考官网文档:http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html 本章内容简单描述这些动态 SQL 在使用的过程中需要注意的地方。 choose, when, otherwise 比如 阅读全文
posted @ 2019-10-29 10:04 殷建卫 阅读(284) 评论(0) 推荐(0) 编辑
摘要:MyBatis 提供两种类型的缓存,一种是一级缓存,另一种是二级缓存,本章通过例子的形式描述 MyBatis 缓存的使用。 测试类:com.yjw.demo.CacheTest 一级缓存 MyBatis 默认开启一级缓存。一级缓存是相对于同一个 SqlSession 而言的,所以在参数和 SQL 完 阅读全文
posted @ 2019-10-29 10:02 殷建卫 阅读(465) 评论(0) 推荐(0) 编辑
摘要:简介 MyBatis 提供了两种联合查询的方式,一种是嵌套查询,一种是嵌套结果。先说结论:在项目中不建议使用嵌套查询,会出现性能问题,可以使用嵌套结果。 测试类:com.yjw.demo.JointQueryTest,提供了对嵌套查询和嵌套结果的测试。 数据库表模型关系 学生信息级联模型关系:链接 阅读全文
posted @ 2019-10-29 10:00 殷建卫 阅读(6179) 评论(0) 推荐(0) 编辑
摘要:简介 利用 MyBatis Plugin 插件技术实现分页功能。 分页插件实现思路如下: 业务代码在 ThreadLocal 中保存分页信息; MyBatis Interceptor 拦截查询请求,获取分页信息,实现分页操作,封装分页列表数据返回; 测试类:com.yjw.demo.PageTest 阅读全文
posted @ 2019-10-29 09:57 殷建卫 阅读(501) 评论(1) 推荐(0) 编辑
摘要:测试类:com.yjw.demo.PrimaryKeyTest 自增长列 数据库表的主键为自增长列,在写业务代码的时候,经常需要在表中新增一条数据后,能获得这条数据的主键 ID,MyBatis 提供了实现的方法。 StudentMapper.xml <insert id="insertByAutoI 阅读全文
posted @ 2019-10-29 09:53 殷建卫 阅读(867) 评论(0) 推荐(0) 编辑
摘要:映射器的主要元素: 本章介绍 select 元素中传递多个参数的处理方式。 测试类:com.yjw.demo.MulParametersTest 使用 Map 传递参数(不建议使用) 使用 MyBatis 提供的 Map 接口作为参数来实现。 StudentDao /** * 使用 Map 传递参数 阅读全文
posted @ 2019-10-29 09:48 殷建卫 阅读(1028) 评论(0) 推荐(0) 编辑
摘要:MyBatis 提供了很多默认类型处理器,参考官网地址:链接,除了官网提供的类型处理器,我们也可以自定义类型处理器。 具体做法为:实现 org.apache.ibatis.type.TypeHandler 接口, 或继承 org.apache.ibatis.type.BaseTypeHandler  阅读全文
posted @ 2019-10-29 09:47 殷建卫 阅读(734) 评论(0) 推荐(0) 编辑
摘要:简介 为了全面熟悉 MyBatis 的使用,整理一个 MyBatis 的例子,案例中包含了映射器、动态 SQL 的使用。本章先介绍项目结构和配置。 项目地址:链接 数据库表的模型关系:链接 项目结构 项目框架:Spring Boot、MyBatis、Mybatis-PageHelper、Druid、 阅读全文
posted @ 2019-10-29 09:46 殷建卫 阅读(227) 评论(0) 推荐(0) 编辑
摘要:简介 什么是 MyBatis? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Pla 阅读全文
posted @ 2019-10-29 09:45 殷建卫 阅读(693) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示