自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(122)
  • 资源 (7)
  • 问答 (1)

原创 MyBatis_MyBatis之逆向工程

1.引入 我们在编写数据库的持久化操作的时候,我们先知道数据库的数据表内容,然后我们会根据数据库表的字段信息去编写对应的javaBean内容,然后根据这一些内容写出查询所需的sql,然后我们会在根据javaBean内容去编写映射文件内容。那么这一个过程在使用java和MyBatis的时候基本上每一个数据库表都需要进行的操作。那么如果有一个技术能够做到把这一个过程直接实现出来。那么就可以把我们需要做的功能内容就会节省下来很多。那么下面我们一起来看一下MyBatis提供的逆向过程操作。2.MyB..

2020-08-22 12:17:19 24

原创 MyBatis_MyBatis之缓存

1.引入 我们知道持久化技术中的缓存是一个非常重要的内容。缓存可以有效的解决后台和数据库之间的数据交互的性能问题。MyBatis 包含一个非常强大的查询缓存特性,它可以非 常方便地配置和定制。缓存可以极大的提升查询效率。2.MyBatis缓存 MyBatis中分为一级缓存和二级缓存。 (1).一级缓存:(本地缓存):sqlSession级别的缓存。一级缓存是一直开启的;SqlSession级别的一个Map 与数据库同一次会话期间查询到的数据会放在本地缓存中...

2020-08-13 18:47:10 29

原创 MyBatis_MyBatis之动态SQL之抽取可重用的SQL片段

1.引入 我们在编写基本的增删改查的时候会经常重复的使用到相同的SQL语句。那么为了方便操作以及减少编写代码的工作量。MyBatis为我们提供了可以重复使用SQL片段。2.取相关sql片段以及使用注意事项抽取可重用的sql片段。方便后面引用(1)、sql抽取:经常将要查询的列名,或者插入用的列名抽取出来方便引用(2)、include来引用已经抽取的sql:(3)、include还可以自定义一些property,sql标签内部就能使用自定义的属性 ...

2020-08-10 23:46:36 48

原创 MyBatis_MyBatis之动态SQL之内置参数

1.引入 在映射文件中,我们可以通过传递参数给我们自己写的sql语句进行参数的传递,同时MyBatis自己也提供了俩个内置的参数。也就是说我们使用ONGL判断传递的参数,内置的参数也可以进行判断和取值操作。2.MyBatis俩个内置参数(1)._parameter:代表整个参数 单个参数:_parameter就是这个参数。 多个参数:参数会被封装为一个map;_parameter就是代表这个map。(2)._databaseId:如果配置了da...

2020-08-10 23:33:06 49

原创 MyBatis_MyBatis之动态SQL之常用OGNL表达式

1.引入 我们知道

2020-08-09 21:25:30 34

原创 MyBatis_MyBatis之查询结果映射resultMap_discriminator(鉴别器)

1.引入 上面我们分别说了对单个对象、Colection的一个封装,那么下面,我们说一个对参数传递的一个分类discriminator。mybatis可以使用discriminator判断某列的值,然后根据某列的值改变封装行为。2.使用测试功能需求:封装Employee:如果查出的是女生:就把部门信息查询出来,否则不查询;如果是男生,把last_name这一列的值赋值给email;(1).映射文件信息配置<!-- <discriminator javaType=""&...

2020-08-02 21:51:28 82

原创 MyBatis_MyBatis之查询结果映射resultMap_Collection封装

1.引入 通过上一个内容,我们对resultMap有了一个基本的认识。同时我们封装的情况是属于一对一的一个情况。但是呢,有时候我们也会遇到一对多的情况。那么接下来我们一起来看一下如何处理一对多的情况。2.使用resultMap处理一对多的情况(1).定义相关的实体对象//部门实体对象:一个部门对应多个员工public class Department { private Integer id; private String departmentName; private ...

2020-08-02 21:35:22 94

原创 MyBatis_MyBatis之查询结果映射resultMap_单个实体或者单个嵌套实体封装

1.引入 我们之前把查询的结果按照对象、对象集合进行了一个加载。但是呢,这一个过程是怎么实现的呢?如果说我们的查询结果和我们的封装对象之间无法进行连接。那么这一个时候又怎么处理?那么下面我们就一起来看看MyBatis的一个强大的功能:resultMap,实现高级结果集映射。2.自定义结果映射规则...

2020-08-02 11:31:55 52

原创 MyBatis_MyBatis之查询返回对象集合

1.引入 通过前面几节课程,我们了解了使用MyBatis实现基本的增删查改的操作,然后我们又说了一下载增删查改中的参数传递问题。我们之前的操作主要是针对一个对象进行的操作。那么当我们的返回值是一个集合的时候该如何进行处理呢?那么现在我们较为详细的了解一下查询操作。2.实现返回值是一个对象集合(List<Object>)的操作(1).在接口中定义编写查询的方法public List<Employee> getEmpsByLastNameLike(String ..

2020-08-01 11:08:59 137

原创 MyBatis_MyBatis之参数传递

1.引入 我们通过上一节课实现了对一个实体对象的基本的增删查改操作,其中,我们在映射文件和测试的代码中添加了一下参数。那么接下来我们就一起来看看MyBatis中参数是如何传递的。2....

2020-07-29 22:49:06 54

原创 MyBatis_MyBatis映射文件之实现基本的CURD

1.引入

2020-07-29 00:10:47 21

原创 MyBatis_MyBatis之全局配置文件

1.引入 我们呢按照MyBatis官方给的示例,完成了我们的第一个MyBatis的HelloWorld。那么我们完成这一个动作是把那些配置文件等相关内容直接进行了复制粘贴,那么下面呢我们就一起来看一下这一些配置文件的详细内容。2.开发环境绑定dtd约束,为了方便消息提示(略)3.配置文件内容信息详解(可以参考官方文档)(1).propertis(引入外部配置文件) 功能:mybatis可以使用properties来引入外部properties配置文件的内容;...

2020-07-26 23:30:14 18

原创 MyBatis_MyBatis之HelloWorld代码改进

1.引入 上一节课,我们使用MyBatis实现了对数据的查找功能。但是呢这里面有一个问题。什么问题呢,就是我们的这一个代码:Admin Admin = openSession.selectOne("com.cn.entity.AdminMapper.getAdmById", 1);//参数给的是Object类型的参数,也就是说可以传递任何形式的参数,如何我们传入了一个和数据库字段中类型不一致的参数。那么它不会报错。但是没有查询的结果。为了解决这一个问题。MyBatis给我们提供了一个接..

2020-07-04 17:19:46 56

原创 MyBatis_MyBatis之HelloWorld

1.引入 上一次课,我们和大家说了一下MyBatis的优点以及MyBatis需要下载的内容。下面我们就和大家一起进入MyBatis的学习。2.HelloWord创建过程(1).创建一个数据库表adminDROP TABLE IF EXISTS `admin`;CREATE TABLE `admin` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `password`...

2020-06-28 23:29:40 44

原创 MyBatis_MyBatis简介

1.引入 我们在学完MySQL数据库的基础内容之后,我们就开始学习一下数据库持久化操作的相关内容,那么我们之前也学习过一些相关的内容,如:最基础的JDBC,之后的Dbutils,在之后的JdbcTemplate等这些内容。但是呢我们学习这一些操作在实际的项目开发中对于我们的需求还是不够好。那么下面呢我们就一起来学习一下数据库持久化操作框架MyBatis相关的一下内容。2.数据库持久化操作对比(1).Jdbc(Dbutils/JdbcTemplate)进行数据持久化的过程(2)....

2020-06-28 16:32:21 69

原创 MySQL_MySQL锁机制之间隙锁

1.引入 我们接下来的话针对一种比较特殊的数据记录来进行一个操作,那么就是如果在一个情况下,要求我们的数据记录是连续的。那么当我们的数据出现了缺失,也就是产生了间隙。那么这一个时候又会出现什么样子的问题呢?,我们一起来看看。2.间隙锁案例测试(1).创建测试数据库表DROP TABLE IF EXISTS `admin`;CREATE TABLE `admin` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` var...

2020-06-27 12:16:08 98

原创 MySQL_MySQL锁机制之行锁理论

1.引入 我们在之前的课程中,和大家说了一下数据库锁的相关分类,上几节课程中,我们说了Myisam存储引擎的读锁和写锁,那么接下来呢,我们就一起来看一下行锁。2.行锁的特点 行锁偏向于InnoDB存储引擎,开销大,加锁慢;会出现死锁;锁定的粒度最小,发生锁冲突的概率最小,并发度也最高。3.行锁的一个基本案例(1).创建测试数据库表boysDROP TABLE IF EXISTS `boys`;CREATE TABLE `boys` ( `id` int(1...

2020-06-25 17:12:55 54

原创 MySQL_MySQL锁机制之写锁操作

1.引入 上一节课,我们呢,查看了在对一个表添加读锁,然后在不同的会话中查看对数据的不同操作,可以发现,它可以

2020-06-25 11:43:34 89

原创 MySQL_MySQL锁机制之读锁操作

1.引入 我们在之前的线程中,已经初步接触到了锁的一些相关的内容。那么当时的我们使用售票为例子,列举了在只剩一张票的时候计算机程序在实现购票中不加锁出现的各种问题。当我们再线程中加了锁以后,就可以保证计算机对这一个数据的争抢一个有序的处理。那么在MySQL数据库中。我们同样需要学习数据库的锁机制来解决一些相关的问题。2.MySQL数据库锁概述3.数据库锁的分类 按照对数据的操作类型来分,可以分为读锁和写锁。 读锁:所谓的读锁,也叫共享锁, 按照对数...

2020-06-21 23:44:20 72

原创 MySQL_MySQL查询截取分析之全局查询日志

1.引入 一般的情况下,我们还可以使用全局查询日志来分析我们的系统中存在的问题,但是值得注意的值,在使用全局查询日志的时候不能够在生产的环境下使用这一个功能。我们只能够在测试的环境下使用这一个功能。能够把所有的SQL的操作都可抓取出来看看其效果以及执行的流程内容。2.使用讲解以及测试(1).在配置文件中配置然后使用,主要的配置信息如下:在MySQL的配置文件下加入如下的配置信息:#开启general_log = 1#记录日志的文件路径general_log_file = /..

2020-06-19 00:11:21 47

原创 MySQL_MySQL查询截取分析之使用show profile进行sql分析

1.引入

2020-06-18 14:57:17 71

原创 MySQL_MySQL查询截取分析之批量插入数据脚本

1.引入: 我们在之前的MySQL基础中说过MySQL数据库的函数和存储过程。那么其实俩个都是使用数据库编程语言写的脚本语言。主要是为了解决批量数据的插入。其中,函数有返回值。存储过程没有返回值。2.数据测试准备(1).准备创建数据库表SQLDROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NUL..

2020-06-16 20:45:47 58

原创 MySQL_MySQL查询截取分析之慢查询日志

1.引入 当我们通过我们编写的sql去操作MySQL数据库的时候,我们会发现由于SQL语句本身的原因,部分的SQL语句的执行会比较慢,从而会导致整个系统的运行不流畅。那么如果说MySQL提供一个功能,专门给我们解决把执行的慢的那一部分语句给标注出来。这样我们解决问题就会更加的快速。那么下面呢,我们就一起来看一下MySQL提供的慢查询日志。2.什么是MySQL的慢查询日志? 所谓的慢查询日志,就是和其字面意思一样,是MySQL数据库提供的一种日志记录。它主要是用于记录在MySQL中响应时间...

2020-06-16 00:07:13 106

原创 MySQL_MySQL查询截取分析之order by关键字排序优化

1.引入

2020-06-15 00:03:14 90

原创 MySQL_MySQL查询截取分析之小表驱动大表

1.引入 我们之前和大家讲解了索引的基本内容以及索引的优化,那么下面呢我们就进入我们的下一个部分的内容:查询截取分析。我们在使用我们的MySQL进行实际操作的时候,是如何进行MySQL数据库优化查询的分析呢?一般我们都会经过如下的步骤:(1).运行系统,观察一段时间(一般需要大于1天),看看执行慢的SQL情况。(2).开启慢查询日志。通过这只执行的阈值,如执行时间超过几秒的就定义为慢SQL(具体几秒按照系统的情况而定),并把它抓取出来。(3).使用explain + 慢SQL分析。一般.

2020-06-07 01:02:59 106

原创 MySQL_MySQL索引优化之索引失效

1.引入 我们在前面的课程中讲解了数据库表如何优化索引,那么这次课程开始,我们就更加较为升入的讲解索引优化的内容。2.索引失效 (1).创建数据库表book以及添加内容-- ------------------------------ Table structure for book-- ----------------------------DROP TABLE ...

2020-02-24 14:24:02 53

原创 MySQL_MySQL俩表索引优化实例

1.引入 我们呢,在上一节课的时候优化了一张单一的数据库表。那么接下来呢。我们一起优化一下俩张数据库表的索引。2.创建操作的数据库 创建用户表:admin,并添加数据-- ------------------------------ Table structure for admin-- ----------------------------DROP TABL...

2020-02-13 16:07:36 339

原创 MySQL_MySQL单表索引优化实例

1.引入 由上节课,我们把MySQL性能分析的内容较为详细的讲了一下,那么这一节课,我们就使用实际的查询例子进行MySQL数据库的查询索的性能调优。2.索引单表优化创建数据库表内容,并添加数据记录-- ------------------------------ Table structure for book-- ----------------------------...

2020-02-12 20:43:46 176

原创 MySQL_SQL性能分析(重要)

1.引入 我们通过前几节课,我们对索引有了一定的认识。那么说到底的话,我们还是为了让我们操作的sql性能有一定的提高。那么我们在之前学习MySQL逻辑架构的时候,我们发现MySQL自己是自己带有优化的功能的,如:查询优化器(MySQL Query Optimizer)。那么,下面我们就一起来学习,如何进行SQL的性能分析。2.MySQL查询优化器简介以及其工作原理 MySQL数...

2020-02-11 20:03:59 132

原创 MySQL_MySQL数据库表的join操作

1.引入 我们的开发需求中,会经常使用到俩张数据库表的关联操作,根据我们不同的需求,需要对这俩张表进行不同的操作。无论我们怎么样操作,其结果都是这俩张表里面的内容。我们通过join的操作,可以获取数据库表里面的任何内容。下面,我们根据俩张数据库表进行理解。2.创建测试数据库表(1).创建员工表(employee)DROP TABLE IF EXISTS `employe...

2020-02-02 16:33:24 146

原创 MySQL_SQL性能下降的原因

1.引入 在程序的运行过程中,我们会发现这样的一个现象,程序的响应的时间较长,也就是说程序有卡顿的现象。那么在最开始的时候,程序并不存在这样的现象。那么是什么原因导致的呢? 那么有很大的可能是SQL的性能下降了,SQL性能的下降主要的表现为:执行SQL的时间长;等待sql执行的时间长。这样的情况的出现的原因比较多,主要有俩个,一个是外部原因,如:计算机磁盘空间占用较大,一个是程序内部...

2020-02-02 10:55:40 102

原创 MySQL_SQL语句的加载顺序

1.引入 我们知道可以通过SQL语句操作这一个MySQL数据库。但是呢,当一条SQL语句执行的时候它是怎么样被加载的?下面我们一起来看一下SQL的加载顺序。2.SQL的加载顺序。(1).程序员编写的SQL语句select distinct <select_list>from <left_table> <join...

2020-02-01 09:12:37 77

原创 MySQL_MySQL索引详解(重要)

引入: 在上一篇文章中,我们对索引有了一个比较基础的认识,那么接下来,我们一起来深入探讨一下索引的其他方面需要注意的知识。常见的索引类型以及相关注意事项:我们通过创建学生表(student)以及对应的相关操作来实现我们需要的测试。1.单列索引 (1).当列索引的创建 <1>.在创建数据库表的时候创建。 ①:创建普通索引,学生姓名上...

2020-01-06 14:20:09 162

原创 MySQL_MySQL索引基础(重要)

引入: 对于什么是索引,我们先有一个这样的认识。我们在大学里都去过图书馆,每一本图书管里面的书都是按照一定的分类来进行存放的,如按照学科类型,或者是按照图书名称等。也就是说每一本图书都会有唯一的标识来标识图书的存放位置,那么当我们需要进行查找的时候就只需要按照分类的规则就可以快速的找到我们需要的图书的。类似于这样,数据库在存放数据的时候也可以进行类似的操作。按照我们自己的查找需求...

2019-12-10 19:20:10 113

原创 MySQL_MySQL存储引擎简介

引入: 在介绍完MySQL的逻辑架构之后。我们发现MySQL的一大亮点就是它的存储引擎,我们可以根据我们开发中的实际要求去选用我们需要的存储引擎进行对数据库表的存储操作。但是呢并不是所有的存储引擎我们都会使用到,下面我们一起来看一下我们经常使用的俩个MySQL存储引擎InnoDB和MyISAM。存储引擎简介1.什么是存储引擎? 当客户端发送存储数据的SQL...

2019-12-07 21:38:33 165

原创 MySQL_MySQL逻辑架构介绍(重要)

引入: 有一定代码基础的编程人员,相信都有过这样的概念,那么就是对代码(或者是设计的逻辑架构)进行一个分层处理,分层以后,各个部分的代码就各司其职,这样的代码结构清晰,逻辑严谨。而且方便维护和查找错误。那么MySQL数据库作为当前开发设计以及使用的主流数据库,是怎么样的设计使其变得这样的优秀,来看一下MySQL数据库的逻辑架构。经典的MVC系统架构模式 ...

2019-12-07 11:16:54 233

原创 MySQL_MySQL常见配置以及基本操作

引入: MySQL数据库作为持续开发中常见的使用工具,我们在实际的开发中要求不仅仅能够使用程序进行对数据的基本的增删查改,也要求数据库在计算机(或者服务器)上具有较为良好的运行。一些常见的MySQL的操作以及配置是程序员必备的基础技能。MySQL常见的操作以及配置(windows)1.设置默认的root用户对应的密码(方法较多,给出俩个常用的) (1).在安...

2019-12-01 11:17:33 117

原创 MySQL_MySQL流程控制结构

引入: 为了解决不同的在实际开发中的不同的需求,SQL同样提供了类似java一样的流程控制结构,主要包括顺序结构,选择结构,循环结构等。流程控制语句概述流程控制语句概述:1.概述: 一般一个程序执行的时候,是从上到下,也就是说哪一条语句在前,就会先执行这一个语句,但是有时候我们的需求并不是这样的有的语句我们需要先执行,有些需要后执行,有些需要加条件...

2019-11-28 15:44:20 85

原创 MySQL_MySQL函数

引入: 类似于java中的方法,为了完成一个特定的功能,我们把一组预先编译好的SQL语句的集合按照SQL的语法按照特定的规则写成一个能够实现指定功能的代码段。类似这样的代码段就是函数。但是函数有一个特点,结果的返回有且仅有一个。这个就是区别与存储过程的一个内容。函数概述MySQL函数概述1.含义:一组预先编译好的SQL语句的集合,理解成批处理语句。2.使用函数的...

2019-11-26 23:56:48 71

原创 MySQL_MySQL存储过程(重要)

引入: 我们要实现对数据库表的一个操作,实现这一个需要使用多条SQL语句进行操作。同时,这样的操作在我的程序中是使用比较频繁的。回想我们以前学习java的时候。我们需要需要完成一个特定的功能,而这一个功能使用的频率比较多。那么这一个时候我们是选用了把实现的代码抽取出来,写成一个方法,每当我需要实现这一个功能的时候就去调用这一个方法即可。那么在数据库中有没有类似的操作呢?可以实现对...

2019-11-25 23:58:33 90

boot.js.rar

boot.js文件,可以配合jquery miniUI

2020-05-24

log4j2所需的jar

log4j2所需的jarl

2020-04-28

json-lib依赖jar包.rar

jason 解析所需jar包

2020-04-26

Navicat Premium_11.0.17简体中文X86_X64版+破解补丁.rar

Mysql可视化工具Navicat以及激活工具,包含的内容有:Navicat Premium_11.0.17简体中文X86_X64版+破解补丁.rar Mysql可视化工具Navicat以及激活工具,包含的内容有:Navicat Premium_11.0.17简体中文X86_X64版+破解补丁.rar Mysql可视化工具Navicat以及激活工具,包含的内容有:Navicat Premium_11.0.17简体中文X86_X64版+破解补丁.rar

2019-09-09

mysql驱动jar包

连接mysql时候所需使用的jar包--mysql-connector-java-5.1.38-bin.jar

2018-10-29

dbcp数据库连接池使用jar包

DBCP(DataBase Connection Pool)数据库连接池,是java数据库连接池的一种,由Apache开发,通过数据库连接池,可以让程序自动管理数据库连接的释放和断开。

2018-10-29

Dbutil使用jar包

Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能。

2018-10-29

空空如也
提示
确定要删除当前文章?
取消 删除