自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Java Spring AOP myabtis实现数据权限之字段查看权限

如果你的权限信息不是存储在数据库中,而是通过外部系统、API或其他方式获取的,你可以在UserService中实现相应的方法来获取用户的权限信息。将用户权限信息存储在数据库中,例如在用户表中添加一个权限字段。这可以让你直接在SQL查询中使用这些权限信息。

2023-08-29 14:46:32 373

原创 偷偷摸摸地摸鱼-事务传播行为

假设有一个订单服务,订单服务中有一个下单方法(placeOrder),一个支付方法(payOrder)和一个更新订单状态方法(updateOrderStatus)。其中,下单方法和支付方法需要在同一个事务内执行,而更新订单状态方法不需要事务支持。如果当前已经存在一个事务,则加入该事务,否则创建一个新事务。下单和支付的操作需要在同一个事务内完成,如果其中一个操作失败,则整个事务会回滚,保证数据的一致性。删除订单是禁止在事务内执行的操作,如果当前已经存在一个事务,则抛出异常。REQUIRED(默认)

2023-04-28 16:10:37 70

原创 无脑式搭建seata框架

环境:CenOS7、mysql8.0、nacos2.0.2、seata1.4.2、Docker。

2023-03-31 17:59:32 82

原创 Mybatis原理初步理解

/** * SqlSessionFactory, SqlSession, 映射器:都是接口。不让我们直接new对象,目的就是为了解耦 * 由Mybatis帮我们生成这些接口的实现类对象,如果将来要升级,只要mybaits的代码做修改即可,我们的代码不需要修改 * * Mybatis涉及的设计模式,常见: * 构造者模式:把一个对象的复杂构造过程隐藏起来,根据配置文件定制生成需要的对象 * 工厂模式:用于批量生产对象,目的是解耦==>Spring框架 * .

2020-10-20 08:50:40 94

原创 数据库学习

数据库概念用来存储数据的仓库把数据按照一定的规则存储, 数据库其实就是文件系统数据库中的表和Java中的实体类之间的关系数据库中的表, 就对应Java中的实体类表中的字段, 对应类中的成员变量表中的一条记录(数据), 对应类的一个对象MySQL的卸载和安装SQLYog, NavicatSQLSQL: 结构化查询语言SQL语句的分类DDL, 数据定义语言用来定义数据库和表create, drop, alterDML, 数据操作语言用来操作表中的数据in

2020-09-18 19:44:23 139

原创 安安静静学JAVA(十六)

单例模式这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象单例设计模式的作用:目的: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。解决的问题: 一个全局使用的类频繁地创建与销毁。什么时候使用: 当您想控制实例数目,节省系统资源的时候。饥汉式将构造方法私有化,使其不能在类的外部通过new关键字实例化该类对象。在该类内部产生一个唯一的实例化对象,并且将其封装为p

2020-09-12 17:44:35 137

原创 安安静静学JAVA(十五)

Day16XML是什么?XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTML,HTML文件也是XML文档以标签形式组成: <a> </a>XML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性(就是易于阅读)。XML 是 W3C 的推荐标准作用配置文件数据传输jsonXML中的内容文档声明:<?

2020-09-11 19:24:27 98

原创 安安静静学JAVA(十四)

单元测试导入jar包junit-4.12.jarhamcrest-core-1.3.jar@Test单元测试方法的注意事项公共无参无返回其他注解Junit4.xxxx版本@Before:用来修饰方法,该方法会在每一个测试方法执行之前执行一次。@After:用来修饰方法,该方法会在每一个测试方法执行之后执行一次。@BeforeClass:用来静态修饰方法,该方法会在所有测试方法之前执行一次。@AfterClass:用来静态修饰方法,该方法会在所有测试方法之后执行一次。

2020-09-09 20:43:40 202

原创 安安静静学JAVA(十三)

网络基础软件结构C/S全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/C全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。网络编程意义在一定的协议下,实现两台计算机的通信的程序。网络结构应用层HTTP、FTP、TFTP、SMTP、SNMP、DNS传输层TCP1.面向有连接, 数据安全, 速度慢2.三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务

2020-09-08 19:09:18 93

原创 安安静静学JAVA(十二)

标准的异常处理jdk1.6及以前让流尽量能关闭, 所以将关流的代码放到finally中变量作用域的问题 -> 把流的声明, 写在try的外面, try里面做赋值局部变量没有默认值, 使用前必须赋值 -> 定义流时, 给初始值为nullclose方法也有编译时异常 -> 分开进行try-catch在关闭流之前, 做非空判断 -> inn => enter为了保证流尽量能关一个就关一个 -> 关流的时候, 加上f

2020-09-07 19:11:55 125

原创 安安静静学JAVA(十一)

File概述java.io.File 类是文件和文件夹路径名的表示形式,主要用于文件和目录的创建、查找和删除等操作。构造方法public File(String pathname):通过指定的字符串转换抽象路径名来创建新的File对象public File(String parent, String child):将父类的字符串路径名和子类的字符串路径名合并,并创建新的File实例public File(File parent, String child):从父抽象路径名和子路径的字符串合并,

2020-09-05 19:33:42 101

原创 安安静静学JAVA(十)

day11线程池概念:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源。原理图创建线程池的好处:降低资源消耗。减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。提高响应速度。当任务到达时,任务可以不需要的等到线程创建就能立即执行。提高线程的可管理性。可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也

2020-09-04 20:24:16 185

原创 安安静静学JAVA(九)

开启线程普通开启线程继承Thread:即是一个线程,又指定了线程要做的事情实现Runnable:指定线程要做的事情,线程由Thread来做其他开启线程的格式匿名对象( 匿名对象: 适用于只使用一次的场景)匿名内部类实现Runnable接口的好处1.由于Runnable的实现了对象只需创建一次,所以 共享数据不需要加static实现接口的方式,避免了单继承的局限性实现接口的方式,完成解耦的操作线程池中只能使用RunnbaleThread

2020-09-02 20:13:07 120

原创 安安静静学JAVA(八)

排序算法冒泡排序//冒泡排序public class Bubble { //对数组a中的元素进行排序 public static void sort(Comparable[] a){ for (int i = a.length - 1; i > 0;i --){ for (int j = 0; j < i; j++){ if(greater(a[j],a[j+1])){

2020-09-01 19:01:43 115

原创 安安静静学JAVA(七)

Collection类1.常用功能2.comparator比较器作用:对集合内的元素进行排序自然排序和比较器排序:比较器使用代码:3.可变参数作用和定义规则:案例代码:Set接口1.特点:集合的特点: 无序(存和取的顺序), 无索引, 不可以重复2.HashSet:hashSet集合存储自定义类型的时候, 想保证元素的唯一, 需要重写hashCode和equals方法3.LinkedHashSet: ·有序(Set集合中惟一一个有序的集合)

2020-08-31 20:01:14 142

原创 安安静静学JAVA(六)

Collection1.什么是集合:用来存储数据的一个容器2.集合与数组的区别:3.常用方法4.数组转换成集合:Collocation接口子接口有List、SetIterator(迭代器)1.概念:迭代即Collection集合元素的通用获取(遍历)方式。在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。2.常用方法:3.异常:NoSuchElementExcepti

2020-08-29 19:31:21 154

原创 安安静静学JAVA(五)

Object类1.如果类中没有显式的写出继承一个父类, 这个类就会默认继承Object2.成员方法:toString方法在我们直接使用输出语句输出对象名的时候,其实通过该象调用了其toString()方法。如果不希望使用toString方法的默认规则,则可以对它进行覆盖重写Object类中的toString:toString方法返回该对象的字符串表示,其实该字符串内容就是:对象的类型名+@+内存地址值。为什么输出数组的时候, 打印的是地址值 I[@124123为什么输出集合的时候, 打印的是

2020-08-26 20:23:45 286

原创 Excle自动加 VBA小程序

Public a As Integer, r As Integer, c As Integer, b As BooleanPrivate Sub Worksheet_Change(ByVal Target As Range)On Error GoTo hha = Target.Valuer = Target.Rowc = Target.Columnb = Truehh:End SubPrivate Sub Worksheet_SelectionChange(ByVal Target .

2020-08-26 09:01:14 226

原创 安安静静学JAVA(四)

代码块·构造代码块·静态代码块·局部代码块·同步代码块权限修饰符·共有四种权限修饰符: public , protected, 默认(啥都不写),privateString类1.概述:java程序中,任何双引号括起的内容都是字符串(String)的对象,就可以调用String类中的方法String字符串是常量,它们的值在创建之后不能更改,字符串的值是共享的2.内存图:3.构造方法String()String(String s)String(char[])String(

2020-08-25 19:22:04 157

原创 安安静静学JAVA(三)

day03接口1.接口是JAVA语言的一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法,包含抽象方法(JDK7及以前),默认方法和静态方法(JDK8),私有方法(JDK9)还可以存放自定义常量。2一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口, 接口弥补了Java的单继承2.格式:public indenfacet 接口名{ //自定义常量【了解】 public static final : 可以省略,

2020-08-24 20:17:06 161

原创 安安静静学JAVA(二)

Day02继承格式: public class 子类 extends 父类(超类、基类) {}特点:子类可以继承父类的非私有方法和属性(不继承构造方法)好处:1.减少代码的冗余,相同代码重复利 用2.使类与类之间产生关系注意:继承只能是单继承,不能多继承,但是可以多层继承(一个父类多个子类 is-a)继承后成员访问特点:非私有成员非同名:可以点用父类的非私有成员成员变量同名:子类有的就调用子类的,子类没有就用父类的,父类都没有就报错成员方法私有:不可以调用父类私有的方

2020-08-22 19:55:30 162

原创 安安静静学JAVA(一)

JAVA语言基础基础语法面向对象1.面向过程和面向对象的区别(都是一种编程思想)面向过程:以逻辑形式穿进代码(强调的是过程,必须清楚每一个步骤,然后按照步骤一步一步去实现)C面向对象:以不同的功能,分隔为不同模块(强调的是对象, 通过调用对象的行为来实现功能,而不是自己一步一步的去操作实现)JAVA2.什么是类概述:类是用来描述一类具有共同属性和行为事物的统称。所以其实类在客观世界里是不存在的,是抽象的,只是用来描述数据信息的组成:属性(局部变量

2020-08-21 19:18:57 148

原创 window BAT批量修改多个文件的内容

第一次用BAT批量处理多个文件里的内容,十分实用。@echo offsetlocal enabledelayedexpansionset source1=要修改原内容set replaced1=修改内容for /f "delims=" %%a in ('dir /a-d /b /s *.html') do ( pushd "%%~dpa" (for /f "delim...

2020-03-08 23:30:34 5469

空空如也

空空如也

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

TA关注的人

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