自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 mysql--存储过程

一、存储过程:将能够完成特定功能的SQL指令进行封装(SQL指令集),编译之后存储在数据库服务器上,并且为之取一个名字,客户端可以通过名字直接调用这个SQL指令集,获取执行结果。二、存储过程的优点·1、SQL指令无需客户端编写,通过网络传送,可以节省网络开销,同时避免SQL指令在网络传输过程中被恶意篡改,保证安全性。2、存储过程经过编译创建并保存在数据库中的,执行过程无需重复进行编译操作,对SQL指令的执行过程进行了性能提升。3、存储过程中多个SQL指令之间存在逻辑关系,支持流程控制语句(分支、循

2022-04-15 17:36:45 786

原创 mysql--存储引擎、视图

一、mysql表类型和存储引擎1、基本介绍①.MySQL的表类型由存储引擎(Storage Engines)决定,主要包括MylSAM、innoDB、Memory等。②. MySQL数据表主要支持六种类型,分别是:CSV、Memory、ARCHIVE、MRG_MYISAM、MYISAM、InnoBDB。③.这六种又分为两类,一类是”事务安全型”(transaction-safe), 比如:InnoDB;其余都属于第二类,称为”非事务安全型”(non-transaction-safe)[mys

2022-04-15 10:34:56 251

原创 MYSQL-事务/隔离级别/ACID

一、什么是事务事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml语句要么全部成功,要么全部失败。如:转账就要用事务来处理,用以保证数据的一致性。1、mysql数据库控制台事务的几个重要操作start transaction //--开始一个事务savepoint //保存点名--设置保存点rollback to //保存点名 --回退事务rollback //--回退全部事务commit //--提交事务,所有的操作生效,不能回退//1、创建一张测试表create t

2022-04-14 14:08:18 215

原创 MYSQL-索引的使用

一、索引的原理采用二叉树的原理没有索引的话select * from emp where id = 9//进行全表扫描,查询速度慢二、索引的类型1、主键索引,主键自动的为主索引(类型Primary Key)create table t1(id int primary key, //--主键,同时也是索引,称为主键索引name varchar(32);)2、唯一索引(UNIQUE)create table t2(id int unique,//id是唯一的,同时也是索引

2022-04-13 15:20:55 786

原创 redis中雪崩、击穿、穿透

一、缓存穿透概念解决方案∶( 1 )对空值缓存∶如果一个查询返回的数据为空(不管是数据是否不存在),我们仍然把这个空结果( null )进行缓存,设置空结果的过期时间会很短,最长不超过五分钟( 2)设置可访问的名单(白名单) ∶使用bitmaps类型定义一个可以访问的名单,名单id作为bitmaps的偏移量,每次访问和bitmap里面的id进行比较,如果访问id不在bitmaps 里面,进行拦截,不允许访问。( 3)采用布隆过滤器∶(布隆过滤器(Bloom Filter )是1970年由布隆

2022-04-02 15:23:27 87

原创 redis的事务

一、悲观锁悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。,二、乐观锁乐观锁(Optimistic Lock),顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。

2022-03-31 10:52:21 417

原创 Redis五大数据类型及操作命令建

redis特征:  键值(key-value)型,value 支持多种不同数据结构,功能丰富  单线程,每个命令具备原子性  低延迟,速度快(基于内存、IO多路复用、良好的编码)  支持数据持久化  支持主从集群、分片集群  支持多语言客户端一、常用的五大数据类型1、String(字符串)2、List(列表)3、Set(集合)4、Hash(哈希)5

2022-03-30 09:15:59 136

原创 Redis在windows下安装

一、下载链接https://github.com/tporadowski/redis/releases下载redis-x64.zip压缩包,打开如下二、启动  方式1:直接双击redis-server.exe  方式2:打开一个 cmd 窗口 使用 cd 命令切换目录到 redis 运行:redis-server.exe redis.windows.conf三、测试redis是不是安装成功另启一个 cmd 窗口,原来的不要关闭,不然就无法访问服务端了

2022-03-24 15:18:52 1965

原创 Eureka、Zookeeper、Counsul的异同点

CAP原则C:consistency 强一致性A:Availability 可用性P:Partition tolerance 分区容错性CAP理论关注粒度是数据,而不是整体系统设计的策略Eureka是AP原则Zookeeper/Counsul是CP原则

2022-03-16 17:33:49 3033

原创 Lombok的使用

1、下载插件,添加依赖2、@Data自动添加get/set方法     @NoArgsConstructor //无参构造器     @AllArgsconstructor //全参构造器     @ToString 添加ToString方法...

2022-02-25 17:00:12 182

原创 SpringBoot自动配置原理

实现的主要注解是@SpringBootApplication@SpringBootApplication注解底层主要实现注解代码如下1、@SpringBootConfiguration底层是@Configuration,代表当前是一个配置类2、@ComponentScan指定扫描那些3、@EnableAutoConfiguration 开启自动配置注解底层中包含:@AutoConfigurationPackage自动配置包,指定了默认的包规则@import(AutoConf.

2022-02-25 15:46:25 240

原创 SpringBoot优缺点

一、SpringBoot优点1、创建独立Spring应用2、内嵌web服务器3、自动starter依赖,简化构建配置4、自动配置Spring以及第三方功能5、提供生产级别的监控、健康检查以及外部优化配置6、无代码生成、无需编写XML一句话概括:  SpringBoot是整合Spring技术栈的一站式框架  SpringBoot是简化Spring技术栈的快速开发脚手架二、SpringBoot缺点1、迭代快2、封装太深,内部原理复杂,不容易.

2022-02-23 15:49:09 16525

原创 @Transactional的参数管理配置

****** 1、在service类上面添加注解@Transactional,在这个注解里面可以配置事务相关参数**2、propagation–事物的传播行为REQUIRED:如果add方法本身有事务,调用update方法之后,update使用当前add方法里面事务如果add方法本身没有事务,调用updat e方法之后,创建新事务REQUIRED_NEW:使用add方法调用updat e方法,如果add无论是否有事务,都创建新的事务@Service@Transactional(prop.

2022-01-14 16:52:47 869

原创 Spring中的事务@Transactional

1、什么是事务 (1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有的操作都失败。 (2)典型场景:银行转账  lucy给mary转账  lucy少100,mary多1002、事物的四个特性(ACID) (1)原子性; (2)一致性; (3)隔离性; (4)持久性;3、举例,事务的操作过程public void accountMoney(){ try{ //第一步 开启事务 //第二步 进行业务操作 //lucy少100 userD.

2022-01-14 10:48:26 227

原创 JdbcTemplate的使用

1、引入jar包2、在Spring配置文件中配置数据库连接池<!--数据库连接池—-><bean id="dataSource" class="com.al ibaba. dnuid. pool.DruidDataSaurce"destroy method="close"> <property name="url" value="jdbc:mysql:///user_db"/> <property nane="username" value="r.

2022-01-13 17:33:45 199

原创 AOP的动态代理

一、什么是AOP1、面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重复性,同时提高了开发的效率。2、通俗描述:不通过修改源代码方式,在主干功能里面添加新功能。3、列:实现登录权限功能中用到了AOP二、AOP底层原理1、Aop底层使用动态代理(1)有两种情况动态代理  第一种 有接口情况,使用JDK动态代理  第二种没有接口情况,使用CGLIB动态代理...

2022-01-13 16:24:11 624

原创 Aop术语解释

1、连接点类里面的那些方法可以被增强,这些方法称为连接点2、切入点实际被真正增强的方法,称为切入点3、通知(增强)①实际增强的逻辑部分称为通知(增强)②通知(增强)有多重类型 前置通知 后置通知 环绕通知 异常通知 最终通知4、切面切面是一个动作,把通知应用到切入点的过程...

2022-01-13 16:05:04 81

原创 Spring纯注解开发

创建配置类, 替代xml配置文件@Configuration//作为配置类,替代xml配置文件@ComponentScan (basePackages= {" com..atguigu"})public class SpringConfig {}

2022-01-12 16:36:33 56

原创 Spring使用注解实现属性注入

一、@Autowired:根据属性类型进行自动装配第一步:把service和dao对象创建,在service和dao类添加创建对象注解第二步:在service注入dao对象,在service类添加dao类型属性,在属性上面使用注解@Servicepublic class UserSexvice {//定义 dao.类型属性//不需要添加set方法//添加注入属性注解@Autowiredprivate UserDao userDao;public void add() { Sys

2022-01-12 15:48:21 235

原创 Spring使用注解创建对象

Spring针对Bean管理中创建对象提供注解@Component@Service@Controller@Repository**上面四个注解功能是一样的,都可以用来创建bean的实例基于注解方式实现对象创建第一步:引入依赖第二步:开启组件扫描第三步:创建类别,在类上面添加创建对象注解...

2022-01-12 15:13:04 180

原创 Spring框架知识点

一、Spring框架概述1、Spring是轻量级的开源JavaEE框架2、Spring可以解决企业应用开发的复杂性3、Spring有两个核心部分:IOC和Aop  (1)IOC:控制反转,把创建对象过程交给Spring进行管理  (2)Aop:面向切面,不修改源代码进行功能增强4、Spring的特点  (1):方便解耦,简化开发。  (2):Aop编程支持  (3):方便程序测试  (4):方便和其他框架进行整合  (5):方便进行事务操作  (6):降低API开发难度...

2022-01-12 14:06:08 922

原创 ActiveRecord的使用

> 一、开启AR模式—实体类必须继承Model类> 二、AR的增删改查操作1、插入操作insert()***AR插入操作*/@Testpublic voidtestARInsert( i Employee employee = new Employee(); employee.setLastName("宋老师"); employee.setEmail( "s1s@atguigu.com" ); employee.setGender(1); employee.s..

2021-12-30 18:43:20 221

原创 MybatisPlus中Condition的用法

List<Employee > emps = employeeMapper.selectPage( new Page<Employee>(1,2), Condition.create() .between( "age",18,50) .eq( "gender",“1"“) .eq("last_name"."Tom") );

2021-12-30 15:19:29 725

原创 Mybatis-Plus中的条件构造器EntityWrapper使用方法

> 1、selectPage方法List<Employee> emps =employeeMapper.selectPage(new Page<Employee>(1,2), new Entitywrapper<Employee>() .between( "age",18,50) .eq( "gender", 1) .eq( "last_name", "Tom") );2、selectList方法

2021-12-30 14:50:13 1051

原创 MyBatisPlus的CRUD方法解释

一、更新操作1、此方法未更新的数据不会改变Integer updateById(@Param("entity") T entity);2、此方法未更新的数据会变为nullInteger updateAllColumnById(@Param("entity") T entity);二、查询操作1、根据单个id查询T selectById(Serialzable id);2、根据多个列查询(id+lastName)selectOne(employee);列:Employee

2021-12-29 09:45:37 325

原创 Mybatis中用PageHelper做数据分页

PageHelper做数据分页。在你的select语句后面加入分页的sql 内容,如果你使用的mysql数据库,它就是在select * from student后面加入limit语句。使用步骤:1.加入依赖pagehelper依赖<dependency> <groupId>com.github.pagehelper</ groupId> <artifactId>pagehe1per</ artifactId> <version&

2021-12-23 19:06:49 839

原创 SQL条件查询/动态SQL

1、if语法<if test="boolean判断结果"> sql代码</if>示例![在这里插入图片描述](https://img-blog.csdnimg.cn/610bd163edfb4cf78f57ab2c079f876d.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAeGhfeWo=,size_20,color_FFFFFF,t_70,g_se,x_16

2021-12-23 15:25:16 2469

原创 resultType和resultMap

1、resultType resultType属性:在执行select时使用。作为<select>标签的属性出现的。 resultType:表示结果类型,mysql执行sql语句得到java对象的类型。 它的两种值: 1、Java类型的全限定名称 2、使用别名2、resultMap的使用<resultMap id ="customMap" type="com.bipow.vo.CustomObject"

2021-12-23 14:31:43 639

原创 Mybatis中#和$的区别

#{}是以预编译的形式将参数设置到sql中,可以防止sql注入。${}取出的值直接拼接到sql中,会存在安全问题实例sql和控制台输出情况举例在这里插入图片描述

2021-12-09 10:34:18 371

原创 Mybatis中获取自增主键的值(添加返回自增id)

useGeneratedKeys="true";使用自增主键获取主键值keyProperty; 指定对应的主键属性,

2021-12-08 10:42:28 80

原创 Mybatis中多数据库连接配置

1.Mybatis配置文件中做如下配置<databaseIdProvder type = "DB_VENDOR> < !-- 为不同数据库起别名--> <property name="MySQL" value="mysql"> <property name="Oracle" value="oracle"> <property name="SQL Server" value="sqlserver"></da...

2021-12-07 17:38:44 1637

原创 Nacos本地安装

1、官网下载nacos2、本地解压安装3、

2021-07-05 09:46:12 2041

原创 把list集合转换成用“,”连接的字符串

List<String> listAll = new ArrayList<>();

2021-05-19 16:52:19 1036

原创 mybatis 中java后端返回多对多数据sql

mybatis 中java后端返回多对多数据sql一、实体类:二、mapper1、映射文件中添加红色部分2、上图中绿色部分是实体类中list中的映射关系做好以上mapper.xml映射关系后就可以了

2021-05-12 16:43:04 182

原创 sql查询每个名字出现的次数

sql查询每个名字出现的次数上图表中查询得到下图sql语句SELECT bw.workshop_id ,bw.workshop_name,(SELECT COUNT(bp.workshop_id) FROM business_plan bp WHERE bp.workshop_id = bw.workshop_id)COUNT FROM basic_workshop bwGROUP BY workshop_id...

2021-03-15 14:35:20 3862

原创 生成随机数

int code1 = (int) (Math.random() * (10));//产生2个0-9的随机数 int code2 = (int) (Math.random() * (10)); long now = System.currentTimeMillis();//一个13位的时间戳 String paymentID = String.valueOf(code1) + String.valueOf(code2) + String.va...

2020-10-15 11:35:22 52

原创 转化为json格式方法

使用JSON.toJSONString 方法可以转换为JSON格式

2020-10-15 11:32:55 1344 1

转载 idea 三种快捷键注释

三种注释方式  行注释、块注释、方法或类说明注释。一、快捷键:Ctrl + /  使用Ctrl+ /, 添加行注释,再次使用,去掉行注释二、演示代码if (hallSites != null && hallSites.size() > 0) { //行注释 //最大行号 int maxRow = 0; //最大列数 int maxCol = 0;}块注释一、快捷键:Ctrl +Shift+/  使用Ctr..

2020-10-15 11:25:59 4106

原创 fineReport 时间查询

数据集中填入${IF(len(begintime)=0,""," and DATE_FORMAT(records.create_time,'%Y-%m-%d') >='"+begintime+"'")}${IF(len(endtime)=0,""," and DATE_FORMAT(records.create_time,'%Y-%m-%d') <='"+endtime+"'")...

2020-04-30 16:54:20 1991 1

原创 FineReport下拉框如何选择不选查询全部选项

在对应的数据集中添加 ${if(len(model_name)==0,'',"and cm.model_name like '%"+model_name+"%' ")}model_name为下拉框选项值

2020-04-30 16:51:23 3851

areaThreeAdmin.cpt

同一个报表,不同角色,查询到的数据不同,可以节省代码量,减轻工作效率,达到一表多用,同一个报表,不同角色,查询到的数据不同,可以节省代码量,减轻工作效率,达到一表多用,同一个报表,不同角色,查询到的数据不同,可以节省代码量,减轻工作效率,达到一表多用,

2020-04-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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