- 博客(305)
- 收藏
- 关注
原创 小白如何学习编程
我们可以每天给自己一个编程题,从简单的开始,逼着自己从无到有的一行一行代码去实现,只有大脑思考后写出来的东西,才是属于你自己的东西。只有一次一次的代码实践,从不会写,到会写几行,从会写几行,到能写一大段,慢慢你看到自己的成长进步,你就自然而然会有兴趣。只有一点点的正向反馈(成就感),你才能够坚持去做一件事情,我们学过很多东西,但不是每个东西都能记住并且随时拿出来用,但是我们可以把学过的东西通过文字记录起来,用到但想不起来的时候,随时拿出来翻一翻,又会加深你的记忆,长此以往,你记住的东西就会越来越多。
2024-11-04 23:41:10 158
原创 MyBatisPlus 中 LambdaQueryWrapper使用
MyBatis-Plus是一个强大的MyBatis扩展插件,它为MyBatis提供了许多实用的功能,其中之一就是LambdaQueryWrapper。LambdaQueryWrapper是一个条件构造器,用于构建SQL查询条件。通过使用LambdaQueryWrapper,我们可以以更简洁、更直观的方式编写查询条件,提高开发效率。LambdaQueryWrapper是MyBatis-Plus提供的一个条件构造器,它基于Java 8的Lambda表达式特性,允许我们通过Lambda表达式来构建查询条件。
2024-10-31 19:30:58 595
原创 Stream流将List转换成Map
通常会需要使用到对象和Map互相转换的开发场景,下面这篇文章主要给大家介绍了关于java对象list使用stream根据某一个属性转换成map的3种方式,需要的朋友可以参考下。无论使用哪种方式,都可以使用Java 8的Stream API将List转换为Map,并根据某个属性作为键或值。需要注意的是,在将List转换为Map时,键必须是唯一的,否则将会抛出异常。
2024-09-27 14:47:27 1303
原创 Java8 Optional类使用说明
Java 8 引入的 Optional 类,是一个可以包含或不包含非空值的容器对象。它的目的是为了提供一种更优雅的方式来处理可能为 null 的值,从而避免直接使用 null 值可能引发的 NullPointerException。Optional 类的主要特点:1、防止 NullPointerException:使用 Optional 可以明确地要求用户在使用变量之前处理 null 情况2、增强代码可读性:通过使用 Optional 的方法,代码的可读性和意图更加明确。
2024-09-07 12:58:04 944
原创 Solidity初体验
智能合约是仅在满足特定条件时才在区块链上部署和执行的功能,无需任何第三方参与。由于智能合约本质上是不可变的和分布式的,因此它们在编写和部署后无法修改或更新。此外,分布式的意义在于任何人都可以检查和查看区块链上的智能合约状态和交易历史。
2024-09-03 11:17:58 847
原创 密码学基础
1、Alice 给 Bob传信息,Alice用Bob的公钥加密,Bob用自己的私钥解密。1、对于一个密码学系统,应当仅有密钥是保密的,其余算法和一切参数都应该是公开的。2、Alice用自己的私钥签名,其他人可以用Alice的公钥验证签名有效性。2、并不一定要数学上完全不可破解,只要在现实中不可能破解即可。传统方式:通过非对称交换密钥,再用对称加密通信。2、在没有私钥的情况下,无法获取到明文相关信息。1、Alice想证明某个消息是自己发的。3、在没有私钥的情况下,无法伪造签名。1、加密解密使用的密钥不同。
2024-08-29 22:55:48 405
原创 Java List 结合删除元素的方法
正序删除方法不可取,因为会致 list 的长度发生了改变,后续遍历时,存在元素下标取不到了。倒序删除可以避免这个问题出现。创建一个待删除的集合,调用 removeAll()方法进行删除。
2024-08-19 15:39:51 295
原创 Java 中Lambada表达式中双冒号 ::使用总结
双冒号运算操作符是类方法的句柄,lambda表达式的一种简写表达式:可以替换成:表达式:() - > new HashMap <>();可以替换成:双冒号(::)运算符在Java 8中被用作方法引用(method reference),方法引用是与lambda表达式相关的一个重要特性。它提供了一种执行方法的方法,为此,方法引用需要由兼容的函数式接口组成的目标类型上下文。
2024-04-26 17:03:20 814 1
原创 Lombok 注解总结
Lombok 是一个 Java 库,用于通过注解方式自动化生成 Java 类的常用方法(如 getter、setter、toString 等),从而简化开发流程并减少重复性代码。以下是 Lombok 库中常用的注解及其作用。这些注解可以根据需求单独使用,也可以组合在一起使用,以简化 Java 类的开发过程,减少冗余代码,并提高代码的可读性和维护性。请注意,使用 Lombok 需要在项目中添加 Lombok 的依赖,以便编译器能够正确处理这些注解。
2024-04-25 17:16:49 905
原创 Mybatis 动态Sql标签使用总结
常用的动态sql标签包括 if、choose(when、otherwise)、trim(where、set)、foreach。2.1、if 标签1、动态拼接查询条件WHERE 1=1= null">= null">= null">= '' ">2、动态选择不同的执行sql根据输入参数unitType的不同情况来join不同的表查询结果集。
2024-04-24 11:08:29 1384 1
原创 MybatisPlus 常用注解
Mybatis-Plus是一个在Mybatis基础上进行增强的ORM框架,提供了许多便捷的注解来简化数据库操作。本文将介绍Mybatis-Plus常用的注解以及它们的使用方法。
2024-04-23 10:28:55 2547
原创 Oracle 中排序函数总结
rank()和row_number() 函数用法类似,但是rank()生成的序号是同值同序的不连续序号,即如果出现相同的值,那么序号是一样的。dense_rank()与rank()的区别在于,dense_rank()生成的序号是连续的。先排序再确定序号,会根据 partition 分区,在每一个小分区内部取序号。
2023-12-07 16:20:33 1393
原创 Oracle中 Procedure sql%notfound
sql%notfound 是一个布尔值,与最接近的sql语句(update、insert、delete、select)发生交互,当最近的一条sql语句没有涉及到任何行的时候,返回true,否则返回false。
2023-12-06 17:07:50 542
原创 Oracle 中换行chr(10)、回车chr(13)
chr(n):返回 ascii 值对应的字符。ascii(char):返回字符 char对应的ascii 值。chr(n) 和 ascii(char) 作用刚好是相反的。控制台显示:A控制台显示:65。
2023-12-04 16:24:54 2607
原创 Oracle的数据一致性机制原理
在单用户环境下,在操作数据库是不需要考虑其他用户会修改同一个数据。但是在多用户的情况下,多个事务可能会修改同一个数据,最终会得到错误的数据结果。Oracle数据库是通过 multiversion consistency model(多版本数据一致性模型)、还有不同类型的锁、事务隔离保证数据的一致性。通过这种方式,数据库可以向多个并发用户提供在某一个时间点所对应的数据库数据。由于不同版本的数据块可以同时存在,事务可以查询所需时间点已经提交的数据版本,并返回对应时间点已提交的数据查询结果。
2023-12-04 14:40:57 530
原创 Oracle 如何修改当前的序列值
序列对象有三个重要的属性:起始值、增量和最大值。起始值是序列生成的第一个值,增量是序列每次生成的值的增量,最大值是序列可以生成的最大值。这些属性可以在创建序列时设置,也可以在创建后随时更改。1、修改当前的序列值要修改Oracle序列的当前值,可以使用ALTER SEQUENCE语句。该语句需要指定序列的名称和新的当前值。注意,该语句只修改序列的当前值,不影响序列的起始值、增量或最大值。2、要修改序列对象的属性,可以使用ALTER SEQUENCE语句的其他选项。2.1、修改序列起始值。
2023-11-16 11:21:56 6984
原创 Oracle 中排序碰到 null 值如何处理
Oracle 在 Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前。
2023-11-14 16:30:49 935
原创 oracle 中 %TYPE %ROWTYPE
PL/SQL 提供了 %TYPE 和 %ROWTYPE 两种特殊的变量,用于声明与表的列相匹配的变量和用户定义数据类型,前一个表示单属性的数据类型,后一个表示整个属性列表的结构,即元组的类型。-- 数据表TB_TRANS_RECORD-- 定义一个与表TB_TRANS_RECORD中FEE类型相同的变量DECLARE-- 定义一个与表TB_TRANS_RECORD结构相同的数组DECLARE-- 为数组中的变量赋值BEGIN。
2023-11-10 15:55:28 1687
原创 oracle中分组函数LISTAGG
Oracle中的 GROUP_CONCAT 函数用于将多行数据合并为一行,并以指定的分隔符分隔各个值。在Oracle中,没有直接的GROUP_CONCAT函数,但可以使用 LISTAGG 函数来实现类似的功能。
2023-11-10 13:43:01 921
原创 javascript 中 find(), findIndex(), filter(), some(), every(), forEach(), map()方法介绍
some 为数组中的每一个元素执行一次 callback 函数,直到找到一个使得 callback 返回一个“真值”(即可转换为布尔值 true 的值)。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。findIndex()方法与find()方法的用法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。举例:过滤年龄为 22 岁的用户。
2023-11-06 13:45:15 203
原创 Oracle数据中如何在 where in() 条件传参
在sql 条件中,如何在 where in()中想传入参数,如果直接 where in(:seqList),当传入单个值,seqList:= ‘80’ 是没问题的,但是初入多个值时,seqList:= ‘80,90’ ,因缺少单引号,导致查询结果不对。使用正则变换函数 regexp_substr()测试数据: 20,30,40。
2023-10-20 16:03:24 1518
原创 Oracl之动态Sql编写总结
在通常的sql操作中,sql语句基本上都是固定的,如: SELECT t.empno,t.ename FROM scott.emp t WHERE t.deptno = 20;但有的时候,从应用的需要或程序的编写出发,都可能需要用到动态SQl,如: 当 from 后的表 不确定时,或者where 后的条件不确定时,都需要用到动态SQL。使用。
2023-05-31 15:57:34 1574
原创 Oracle中TRUNC函数使用说明
格式:TRUNC(n1,n2),n1表示被截断的数字,n2表示要截断到那一位。n2可以是负数,表示截断小数点前。用法有两种:TRUNC(NUMBER)表示截断数字,TRUNC(date)表示截断日期。fmt 日期格式,该日期将由指定的元素格式所截去,忽略它则由最近的日期截去。其具体的语法格式如下:TRUNC(date[,fmt])RUNC函数用于对值进行截断。其中:date 一个日期值。
2023-04-23 14:40:48 5818 1
原创 Oracle 数据库表中已有重复数据如何添加唯一键(唯一约束)
通过以上表中数据可以看出 code 是有重复数据的,此时如果我们直接添加唯一键,会报错。表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引。以 demo 举例,模拟真实场景。
2023-03-15 11:32:26 2012
原创 pl/sql 关于异常处理
异常分为三类,预定义异常、非预定义异常、自定义异常。注意:三种异常的区别,前两种异常是违反了oracle的规则,用户自定义异常是违反了用户定义的规则。ORACLE预定义的异常情况大约有21个。对这种异常情况的处理,无需在程序中定义声明,由ORACLE自动将其引发。常见的异常有:1、no_data_found 无数据找到2、too_many_rows 返回多条数据3、zero divide 除数不能零4、cursor_already_open 打开已经打开的游标。
2023-02-20 10:46:26 732
原创 JS中声明变量,使用 var、let、const的区别
1、var声明是全局作用域或函数作用域,而let和const是块作用域。2、var变量可以在其范围内更新和重新声明;let变量可以被更新但不能重新声明;const变量既不能更新也不能重新声明。3、它们都被提升到其作用域的顶端。但是,虽然使用变量undefined初始化了var变量,但未初始化let和const变量。4、尽管可以在不初始化的情况下声明var和let,但是在声明期间必须初始化const。
2023-02-17 11:12:18 3070
原创 理解 mysql 之 count(*)的性能问题
既然说到count(*),就不能不说一下count家族的其他成员,比如:count(1)、count(id)、count(普通索引列)、count(未加索引列)。而innodb则不同,由于它支持事务,有MVCC(即多版本并发控制)的存在,在同一个时间点的不同事务中,同一条查询sql,返回的记录行数可能是不确定的。对于有些业务场景,新增数据很少,大部分是统计数量操作,而且查询条件很多。count(未加索引列):它会全表扫描获取所有数据,解析中未加索引列,然后判断是否为NULL,如果不是NULL,则行数+1。
2023-01-03 10:38:51 1729
原创 深入理解DOM
HTML DOM 定义了用于 HTML 的一系列标准的对象,以及访问和处理 HTML 文档的标准方法。通过 DOM,可以访问所有的 HTML 元素,连同它们所包含的文本和属性。可以对其中的内容进行修改和删除,同时也可以创建新的元素。HTML DOM 独立于平台和编程语言。它可被任何编程语言诸如 Java、JavaScript 和 VBScript 使用。
2022-12-12 17:10:29 2670
原创 JS 中 == 与 === 的区别
1、== 判断相等的程度较浅,只判断数值而不判断数据类型,换言之 ,用= = 作比较的时候可以自动为我们转换数据的类型;2、=== 判断相等的程度比 = =深,即判断数值,也判断数据类型,不可以自动转换数据的类型。== 和 === 都是用来判断相等的,区别是:相等的程度的深浅。注:= = 会自动转换数据的类型 ,所以有的时候会产生一些问题,总结:=== 更加严谨,建议使用 ===
2022-12-12 11:42:34 341
原创 Oracle 中的定时任务
job 的 id,此id不是随便填写的,而是执行select * from user_jobs;查询到定时任务名称对应的 id。1、declare后面的 jobno 是一个数字类型,主要的用途是给定时器保存id,下面的job 引用此 jobno。2、job:输出变量,是此任务在任务队列中的编号;3、what:执行的任务的名称及其输入参数;5、interval:任务执行的时间间隔。4、next_date:任务执行的时间;
2022-12-09 17:33:28 13730
原创 Oracle中查看触发器使用到的SQL
1.1、查all_triggers表得到trigger_name1.2、根据trigger_name查询出触发器详细信息1.3、在Oracle数据库中查询所有触发器、存储过程、视图、表方法1:方法2:
2022-12-07 20:51:09 3493
原创 Oracle数据库查询唯一约束、索引
查询外键约束的列名:查询引用表的键的列名:五、查询表的所有列及其属性查询Oracle表的信息(表,字段,约束,索引)1、查询出所有的用户表select * from user_tables 可以查询出所有的用户表2、查询出用户所有表的索引select * from user_indexes3、查询用户表的索引(非聚集索引):select * from user_indexes where uniqueness=‘NONUNIQUE’4、查询用户表的主
2022-12-03 22:36:22 6130
原创 SQL中正则表达式的运用
1.1、REGEXP_LIKE 匹配:REGEXP_LIKE(String, Regexp)举例:查询结果:1.2、REGEXP_INSTR 包含Oracle数据库中的REGEXP_INSTR函数的语法是:source_char:搜索值的字符表达式,可以是任何数据类型CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB或NCLOB的。pattern:正则表达式position:可选。搜索在字符串中的开始位置。如果省略,则默认为1,这是字符串中的第一个位置。occurrence:可选
2022-12-03 16:13:47 12753
原创 Oracle 中用sql语句查看外键约束和表结构
constraint_type:表示约束类型,R表示外键,P表示主键。constraint_name:表示约束名称。
2022-12-02 11:21:12 8930
原创 400 HTTP响应码之客户端错误
HTTP/1.1 可用。HTTP/1.1 可用。请求实体大小超过服务器的设置的最大限制,服务器可能会关闭HTTP链接并返回Retry-After 头字段。HTTP/1.1 可用。HTTP/1.1 可用。请求中包含的Range头字段无法被满足,通常是因为Range中的数字范围超出所请求资源的大小。HTTP/1.1 可用。HTTP/1.1 可用。HTTP/1.1 可用。HTTP/1.1 可用。HTTP/1.1 可用。HTTP/1.1 可用。服务器不支持客户端所请求的媒体类型,因此拒绝该请求。
2022-11-30 10:14:30 1122 1
原创 Oracle中的dual表
2、DUAL表是一个单行单列的虚拟表,这个表只有1列DUMMY,数据类型为VARCHAR2(1),不论执行什么操作(不要删除记录),它都只有一条记录——“X”,Oracle有内部逻辑保证DUAL表中只有一条数据。1、DUAL表是Oracle提供的最小的工作表,是sys用户下的一张内部表,所有用户都可以使用DUAL名称访问,无论什么时候这个表总是存在。4、dual是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中。2、查看当前日期、时间。1、查看当前连接用户。
2022-11-28 10:28:45 2133
原创 了解 什么是 22 端口
一般在云服务商的服务器管理后台,找到安全组选项,在弹出的“新建安全组”窗口中,根据实际需求,选择“放通全部端口”或者“放通22,80,443,3389端口和ICMP协议”模板,填写安全组名称,设置所属项目。一般Linux云服务器要放通22号端口, Windows云服务器需要放通3389号端口。在修改了服务的端口之后,还需要在对应的安全组,开放对应的端口,否则会导致服务不能使用。在使用的过程中,一些错误的操作,关闭防火墙,再开启防火墙会导致22端口不允许访问了。第三步:设置防火墙允许22端口访问。
2022-11-21 09:27:43 25698
原创 了解 Oracle 中的主键和外键
例如超女基本信息表,编号的字段名是id,在超女选秀活动中,每个超女的编号肯定是唯一的,不可能存在两个编号相同的超女,否则会引起混乱,我们可以把id字段设置为T_GIRL表的主键,后面的工作交给数据库,如果试图往表中插入多条id相同的记录,数据库将拒绝。在Oracle数据库中,虽然主键不是必需的,但是最好为每个表都设置一个主键,不管是单字段主键还是多字段主键(复合主键),它的存在代表了表结构的完整性,主键还可以用于其他表的外键关联,外键的知识下面再介绍。对超女基本信息表来说,赛区代码是该表的外键。
2022-11-20 23:07:00 4318
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人