- 博客(27)
- 资源 (14)
- 问答 (4)
- 收藏
- 关注
原创 MySQL 触发器的使用
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用转载:《Mysql中的触发器》什么是触发器触...
2019-10-30 20:22:00 118
原创 MySQL AND 和 OR 联合使用带来的坑
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用数据准备:CREATE TABLE prod...
2019-10-30 20:13:00 413
原创 MySQL NULL 使用带来的坑
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用NULL 无值(no value),它与字段包含 0 、空...
2019-10-30 19:54:00 153
原创 MySQL 行转列 列转行
转载:《mysql 行转列 列转行》行转列准备数据:CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT '用户id', subject VARCHAR(20) COMMENT '科目', scor...
2019-10-30 19:49:00 142
原创 MySQL 多列排序
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用数据准备:CREATE TABLE `tea...
2019-10-30 19:44:00 388
原创 MySQL 字段类型介绍
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用注意点:数值类型:注...
2019-10-30 19:40:00 205
原创 MySQL 常用函数介绍
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用数值型函数...
2019-10-30 19:39:00 77
原创 MySQL 军规
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用转载:《58到家数据库30条军规解读》《赶集...
2019-10-30 19:31:00 101
原创 三范式
MySQL基础篇三范式MySQL 军规MySQL 配置MySQL 用户管理和权限设置MySQL 常用函数介绍MySQL 字段类型介绍MySQL 多列排序MySQL 行转列 列转行MySQL NULL 使用带来的坑MySQL AND 和 OR 联合使用带来的坑MySQL 触发器的使用三范式第一范式( 1NF):字段具有原子性,不可...
2019-10-30 19:28:00 179
原创 MyBatis 源码篇-MyBatis-Spring 剖析
本章通过分析mybatis-spring-x.x.x.jarJar 包中的源码,了解MyBatis是如何与Spring进行集成的。Spring配置文件MyBatis与Spring集成,在Spring配置文件中配置了数据源、SqlSessionFactory、自动扫描MyBatis中的Mapper接口、事务管理等,这部分内容都交由Spring管理...
2019-10-29 11:08:00 141
原创 MyBatis 源码篇-Transaction
本章简单介绍一下MyBatis的事务模块,这块内容比较简单,主要为后面介绍mybatis-spring-1.**.jar(MyBatis与 Spring集成)中的事务模块做准备。类图结构MyBatis事务模块的代码在transaction包下:根据包的分类,提供了两种事务实现:jdbc、managed。我们还是先来看下事务模块整...
2019-10-29 10:57:00 129
原创 MyBatis 源码篇-DataSource
本章介绍MyBatis提供的数据源模块,为后面与Spring集成做铺垫,从以下三点出发:描述MyBatis数据源模块的类图结构;MyBatis是如何集成第三方数据源组件的;PooledConnection 设计初衷猜想;类图结构MyBatis数据源部分的代码在datasource目录下。提供了三种类型的数据源实现:unpooled(...
2019-10-29 10:55:00 177
原创 MyBatis 源码篇-插件模块
本章主要描述MyBatis插件模块的原理,从以下两点出发:MyBatis是如何加载插件配置的?MyBatis是如何实现用户使用自定义拦截器对SQL语句执行过程中的某一点进行拦截的?示例准备首先准备两个拦截器示例,代码如下。@Intercepts({ @Signature(type = Executor.class, metho...
2019-10-29 10:50:00 115
原创 MyBatis 源码篇-日志模块2
上一章的案例,配置日志级别为debug,执行一个简单的查询操作,会将JDBC操作打印出来。本章通过MyBatis日志部分源码分析它是如何实现日志打印的。在MyBatis的日志模块中有一个jdbc package,package中的内容如下图所示:BaseJdbcLogger是一个抽象类,它是jdbcpackage下其他类的父类,类继承关系如下图所示:...
2019-10-29 10:45:00 134
原创 MyBatis 源码篇-日志模块1
在Java开发中常用的日志框架有Log4j、Log4j2、ApacheCommonLog、java.util.logging、slf4j等,这些日志框架对外提供的接口各不相同。本章详细描述MyBatis是如何通过适配器的方式集成和复用这些第三方框架的。日志适配器MyBatis的日志模块位于org.apache.ibatis.logging包中,该模块中...
2019-10-29 10:43:00 202
原创 MyBatis 源码篇-资源加载
本章主要描述MyBatis 资源加载模块中的 ClassLoaderWrapper类和Java加载配置文件的三种方式。ClassLoaderWrapper上一章的案例,使用org.apache.ibatis.io.Resources#getResourceAsStream(java.lang.String)方法加载MyBatis的配置文件。Resources是一...
2019-10-29 10:41:00 133
原创 MyBatis 源码篇-SQL 执行的流程
本章通过一个简单的例子,来了解 MyBatis 执行一条 SQL 语句的大致过程是怎样的。案例代码如下所示:public class MybatisTest { @Test public void selectByPrimaryKey() throws IOException { // 3 StudentDao st...
2019-10-29 10:31:00 225
原创 MyBatis 源码篇-整体架构
MyBatis 的整体架构分为三层, 分别是基础支持层、核心处理层和接口层,如下图所示。基础支持层反射模块该模块对 Java 原生的反射进行了良好的封装,提供了更加简洁易用的 API ,方便上层使调用,并且对反射操作进行了一系列优化,例如缓存了类的元数据,提高了反射操作的性能。类型转换模块类型转换模块提...
2019-10-29 10:20:00 306
原创 MyBatis 示例-动态 SQL
MyBatis 的动态 SQL 包括以下几种元素:详细的使用参考官网文档:http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html本章内容简单描述这些动态SQL在使用的过程中需要注意的地方。choose, when, otherwise比如我们要实现如下功能:当学生姓名不为空,则只用学生姓名作为条件查询...
2019-10-29 10:04:00 112
原创 MyBatis 示例-缓存
MyBatis提供两种类型的缓存,一种是一级缓存,另一种是二级缓存,本章通过例子的形式描述MyBatis缓存的使用。测试类:com.yjw.demo.CacheTest一级缓存MyBatis 默认开启一级缓存。一级缓存是相对于同一个 SqlSession 而言的,所以在参数和 SQL 完全一样的情况下,我们使用同一个 SqlSession 对象调用同一个 Mapper ...
2019-10-29 10:02:00 102
原创 MyBatis 示例-联合查询
简介MyBatis提供了两种联合查询的方式,一种是嵌套查询,一种是嵌套结果。先说结论:在项目中不建议使用嵌套查询,会出现性能问题,可以使用嵌套结果。测试类:com.yjw.demo.JointQueryTest,提供了对嵌套查询和嵌套结果的测试。数据库表模型关系学生信息级联模型关系:链接学生信息级联模型关系是一个多种类型关联关系,包含了如下几种情况:其中...
2019-10-29 10:00:00 312
原创 MyBatis 示例-插件
简介利用 MyBatis Plugin 插件技术实现分页功能。分页插件实现思路如下:业务代码在 ThreadLocal 中保存分页信息;MyBatis Interceptor 拦截查询请求,获取分页信息,实现分页操作,封装分页列表数据返回;测试类:com.yjw.demo.PageTest插件开发过程确定需要拦截的签名MyBatis 插件可以拦截四...
2019-10-29 09:57:00 98
原创 MyBatis 示例-主键回填
测试类:com.yjw.demo.PrimaryKeyTest自增长列数据库表的主键为自增长列,在写业务代码的时候,经常需要在表中新增一条数据后,能获得这条数据的主键 ID,MyBatis 提供了实现的方法。StudentMapper.xml<insert id="insertByAutoInc" parameterType="studentDO" keyPro...
2019-10-29 09:53:00 223
原创 MyBatis 示例-传递多个参数
映射器的主要元素:本章介绍select元素中传递多个参数的处理方式。测试类:com.yjw.demo.MulParametersTest使用 Map 传递参数(不建议使用)使用 MyBatis 提供的 Map 接口作为参数来实现。StudentDao/** * 使用 Map 传递参数 * * @param params * @retur...
2019-10-29 09:48:00 183
原创 MyBatis 示例-类型处理器
MyBatis提供了很多默认类型处理器,参考官网地址:链接,除了官网提供的类型处理器,我们也可以自定义类型处理器。具体做法为:实现org.apache.ibatis.type.TypeHandler接口, 或继承org.apache.ibatis.type.BaseTypeHandler类 , 然后可以选择性地将它映射到一个 JDBC 类型。测试类:com.yjw.de...
2019-10-29 09:47:00 123
原创 MyBatis 示例-简介
简介为了全面熟悉MyBatis的使用,整理一个MyBatis的例子,案例中包含了映射器、动态 SQL的使用。本章先介绍项目结构和配置。项目地址:链接数据库表的模型关系:链接项目结构项目框架:Spring Boot、MyBatis、Mybatis-PageHelper、Druid、Swagger;db 目录存放数据库SQL文件,项目中使用...
2019-10-29 09:46:00 63
原创 MyBatis 概念
简介什么是MyBatis?MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。...
2019-10-29 09:45:00 123
hid_omnikey3x2x_x86_w7_r1_2_24_27.zip
2014-07-04
hid_omnikey3x2x_x64_w7_r1_2_24_27.zip
2014-07-04
springXSD文件
2013-02-28
Java日期工具类
2011-11-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人