C# 数据操作系列 - 19 FreeSql 入坑介绍

0. 前言前几天FreeSql的作者向我推荐了FreeSql框架,想让我帮忙写个文章介绍一下。嗯,想不到我也能带个货了。哈哈,开个玩笑~看了下觉得设计的挺有意思的,所以就谢了这篇文章。简单介绍一下,FreeSql 是NCC组织的沙盒级项目,是一款功能强大的 ORM 组件,支持 .NET Core、.NET Framework 和 Xamarin。目前 FreeSql 支持以下数据库:MySQL、P
分类: 编程语言 发布时间: 02-26 22:29 阅读次数: 0

C# 数据操作系列 - 16 SqlSugar 完结篇

0. 前言前一篇我们详细的介绍了SqlSugar的增删改查,那些已经满足我们在日常工程开发中的使用了。但是还有一点点在开发中并不常用,但是却非常有用的方法。接下来让我们一起来看看还有哪些有意思的内容。1. 不同寻常的查询之前介绍了针对单个表的查询,同样也是相对简单的查询模式。虽然开发完全够用,但是难免会遇到一些特殊的情况。而下面这些方法就是为了解决这些意料之外。1.1 多表查询SqlSugar提供
分类: 编程语言 发布时间: 02-26 22:29 阅读次数: 0

C# 数据操作系列 - 13 SqlSugar 初探

0. 前言前言,暂时挥别NHibernate(虽然我突然发现这玩意还挺有意思的,不过看得人不多)。大步进入了有很多小伙伴向我安利的SQLSugar,嗯,我一直叫SugarSQL,好像是这个吧?这是一个由国内开发者开发的ORM框架,是一个轻量级框架(最新版的sqlSugarCore大概只有290kb)。下图是sqlSugar的功能描述:从图中我们能够大概看出,SqlSugar的使用需要预先创建一个S
分类: 编程语言 发布时间: 02-26 22:29 阅读次数: 0

AVL与红黑树的区别

AVL1.简介AVL树是最先发明的自平衡二叉查找树,一般是用平衡因子差值判断是否平衡并通过旋转来实现平衡,每个节点的左右子树高度差不超过1,和红黑树相比,AVL树是严格的平衡二叉树,平衡条件必须满足(所有结点的左右子树高度差不超过1)。如图所示:2.局限性增加和删除可能需要通过一次或多次树旋转来重新平衡这个树,而因为旋转非常耗时,维护这种高度平衡所付出的代价比从中获得的效率收益还大,故而实际的应用不多,更多的地方是用追求局部而不是非常严格整体平衡的红黑树。当然,如果应用场景中对插入删除不频繁,只.
分类: 其他 发布时间: 02-26 22:29 阅读次数: 0

14-组件化高级-具名插槽

什么是具名插槽当子组件需要使用多个插槽时,可以利用slot元素的name属性来定义具名插槽,方便父组件使用时辨识,具体看看怎么使用大家就知道啦。具名插槽的使用<html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> </head> <body> <div id="app"> .
分类: 其他 发布时间: 02-26 22:29 阅读次数: 0

List遍历的八种写法

List遍历的八种写法最近在使用List的时候看到了非常方便遍历方法,汇总一下发现竟然有这么多种写法。具体如下:package com.test;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import java.util.function.Consumer;/** * @author 蓝带 * @date 2020/9/17 0017 0:07 */public class
分类: 其他 发布时间: 02-26 22:28 阅读次数: 0

代理模式的使用总结

代理模式的使用总结目录一、代理模式 二、静态代理 (一)静态代理 (二)静态代理简单实现 三、动态代理 (一)动态代理 (二)动态代理简单实现 四、动态代理原理分析 五、InvocationHandler接口和Proxy类详解 六、JDK动态代理和CGLIB动态代理代码示例比较与总结 (一)定义创建用户管理接口 (二)用户管理实现类,实现用户管理接口(被代理的实现类) (三)采用JDK代理实现:JDK动态代理实现InvocationHandler接口 (四)采用CGLIB代理
分类: 其他 发布时间: 02-26 22:28 阅读次数: 0

前端异步请求无法下载文件

使用Axios(ajax)下载文件最近在做一个vue项目,使用Axios下载文件时发现请求失败无法下载,返回结果是一堆乱码,但是直接在浏览器输入网址却是可以下载的。查询资料找到原因如下:ajax无法下载文件的原因下载其实是浏览器的内置事件,浏览器的 GET请求(frame、a)、 POST请求(form)其特点上response会交由浏览器处理并且内容可以为二进制文件、字符串等但是ajax的请求是不一样的,其请求的response会交由Javascript处理,并且内容只能接收字符串才能继续处理,
分类: 其他 发布时间: 02-26 22:28 阅读次数: 0

SQL语句的详细操作(一)

SQL基础教程create tablecreate table person( id int(10), lastname varchar(24), firstname varchar(24), address varchar(24), city varchar(24), primary key(id))insertinsert into person values(1, 'Gates', 'Bill', 'Xuanwumen', 'Beijing');insert int
分类: 其他 发布时间: 02-26 22:27 阅读次数: 0

Java的参数传递是值传递还是引用传递

Java的参数传递是值传递还是引用传递关于Java传参时是引用传递还是值传递,一直是一个讨论比较多的话题。有人说Java中只有值传递,也有人说值传递和引用传递都是存在的,比较容易让人产生疑问。关于值传递和引用传递其实需要分情况看待。一、Java数据类型Java数据类型分为「基本数据类型」和「引用类型」两大类。基本数据类型(8种)引用类型(3种)引用类型可分为类引用类型(类)、接口引用类型(接口)和数组引用类型(数组)。以下代码定义了3个引用变量:user、myThread、in
分类: 其他 发布时间: 02-26 22:27 阅读次数: 0

单体应用架构在应用中存在的问题

单体应用架构存在的问题一个归档包(例如war格式)包含所有功能的应用程序,通常称为单体应用。而架构单体应用的方法论,就是单体应用架构。以一个电影售票系统为例,架构如图所示。该应用尽管已经进行了模块化,但由于UI和若干务模块最终都被打包在一个war包中,该war包包含了整个系统所有的业务功能,这样的应用系统称为单体应用。相信很多项目都是从单体应用开始的。单体应用比较容易部署、测试,在项目的初期,单体应用可以很好地运行。然而,随着需求的不断增加,越来越多的人加人开发团队,代码库也在飞速地膨胀。慢慢地,
分类: 其他 发布时间: 02-26 22:27 阅读次数: 0

微服务的定义以及优劣

微服务的定义以及优劣一、什么是微服务单体架构存在很多问题,微服务的出现就是为了解决单体架构面临的困难。就目前来看,微服务本身并没有一个严格的定义,Martin Fowler是这样定义微服务的。In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own p
分类: 其他 发布时间: 02-26 22:26 阅读次数: 0

SQL语句的详细操作(二)

SQL进阶语句select limitselect * from person limit 5;select like-- %可以替换多个字母select * from person where lastname like '%b';-- 可以两端同时匹配%select * from person where lastname like '%o%';-- 一个_只能匹配一个字母select * from person where lastname like 'T_m';--
分类: 其他 发布时间: 02-26 22:26 阅读次数: 0

SQL语句的详细操作(三)

常用SQL函数avg()avg() 函数返回数值列的平均值。select avg(count) as CountAverage from access_log;count()count() 函数返回匹配指定条件的行数。-- COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入)select count(column_name) from table_name;-- COUNT(*) 函数返回表中的记录数:select count(*) from t
分类: 其他 发布时间: 02-26 22:26 阅读次数: 0

limit以及limit offset注意事项

limit 用法:limit m, n;# 表示从跳过 m 条数据开始取n行数据# m 可选,表示跳过 m 条数据(默认为0)# n 必选,表示取几行数据-- 查询前 10 条数据select * from table_name limit 10;-- 以上写法等同于select * from table_name limit 0, 10;-- 查询 10-20 条数据select * from table_name limit 10, 10;limit 结合 offs..
分类: 其他 发布时间: 02-26 22:26 阅读次数: 0

记录常见排序算法

常用排序算法一、冒泡排序public int[] bubbleSort(int[] param) { int length = param.length; for (int i = 0; i < length - 1; i++) { for (int j = 0; j < length - 1 - i; j++) { if (param[j] > param[j + 1]) { int temp = param[j + 1]; param[j + 1] =
分类: 其他 发布时间: 02-26 22:25 阅读次数: 0

多线程知识点详细讲解

多线程学前总结进程与线程的区别多线程的方法执行顺序多线程核心知识点实现多线程创建线程有3种方法,分别是继承Thread类,实现Runnable接口和实现Callable接口。继承Thread类// 继承父类实现多线程public class TestThread extends Thread { @Override public void run() { for (int i = 0; i < 300; i+
分类: 其他 发布时间: 02-26 22:25 阅读次数: 0

注解和反射知识点详细讲解

注解什么是注解内置注解// 什么注解public class TestAnnotation extends Object{ @Override public String toString() { return super.toString(); } // 不推荐使用,但是可以使用,或者推荐更好的方式 @Deprecated public static void test01() { System.out.pri
分类: 其他 发布时间: 02-26 22:25 阅读次数: 0

Java 8 Stream 知识点详细讲解

Java 8 Stream 知识点详细讲解什么是StreamStream 是 java 8 的新特性,Stream 是对集合功能的增强,它不是集合元素也不是数据结构,更不能用于保存数据,它是有关于算法和计算的。Stream 将要处理的元素集合看作一种流,在流的过程中,借助 Stream API 对流中的元素进行操作,如查询、筛选、删除、过滤、统计、映射等。也就是说 Stream 本身不负责存储数据,存储数据是用集合,数组等数据结构,它只负责对数据进行处理、加工。Stream 的操作流程创建 S
分类: 其他 发布时间: 02-26 22:25 阅读次数: 0

常见设计模式代码加类图

设计模式本文没有关于设计模式的讲解,主要以示例代码和类图为主,适合有一定基础想要复习设计模式的小伙伴,想看详解请点击这里设计模式详解,类图均为亲手绘制,建议一定理解类图。工厂模式// 顶层人类接口public interface Person { void say();}// 中国人实现类public class Chinese implements Person { public void say() { System.out.println("中国人说话:
分类: 其他 发布时间: 02-26 22:24 阅读次数: 0