- 博客(19)
- 收藏
- 关注
原创 JAVA持久层工具最佳实践探讨-查询篇
复杂查询:在本文中指的是,需要连接多张表,根据不同条件进行动态查询。根据不同的条件,连接的表可能不同,连接表所用的条件可能不同(join on xxx),所查询的字段可能不同,where条件可能不同。比如以下伪sql,根据问号部分的条件,可能会有很多的组合。select?from?join?on?, where?offset?limit?除此之外,使用多个子查询等功能,也会使得sql变得复杂化。
2023-06-03 01:05:44
208
原创 Kotlin NIO 实现非阻塞echo服务器
传统的阻塞式方案通常在有新的链接时使用其他线程进行处理,每个线程负责处理一个socket,如 ServerSocket serverSocket = new ServerSocket(3000); while(true){ Socket socket = serverSocket.accept(); new Thread(()->{ ///socket.getI
2022-02-03 15:05:19
1889
原创 mysql 索引失效问题 为什么范围查询会使得后面的索引失效
总结一下为什么范围后索引会失效存储引擎不能使用索引中范围条件右边的列比如说有三个字段 a b c,建立复合索引a_b_c此时叶子节点的数据排序后可能为(a=1 b=1 c=1) (a=1 b=2 c=1) (a=1 b=2 c=3)(a=2 b=2 c=3) (a=2 b=2 c=5) (a=2 b=5 c=1) (a=2 b=5 c=2)(a=3 b=0 c=1) (a=3 b=3 c=5) (a=3 b=8 c=6)假设查找 select a,b,c from table where a
2021-08-02 02:48:27
7931
11
原创 关于(configurer.addPathPrefix)中参数c->true的解释(lambda表达式)
我们在配置路径时 经常加上统一的后台路径 比如 @Override public void configurePathMatch(PathMatchConfigurer configurer) { configurer.addPathPrefix("api", c->true); }此时对这个c->true可能看不懂,这其实是一个lambda表达式尝试完全不用匿名内部类和lambda表达式来进行解释 @Override public
2021-05-11 16:48:30
1499
原创 【牛客网OJ题】超长正整数相加——栈解法
问题描述:请设计一个算法完成两个超长正整数的加法。接口说明/*请设计一个算法完成两个超长正整数的加法。输入参数:String addend:加数String augend:被加数返回值:加法结果 */ public String AddLongInteger(String addend, String augend) { /*在这里实现功能*/ return null; }输入描述:输入两个字符串数字输出描述:输出相加后的结果,string
2021-05-06 22:02:05
174
原创 SpringMvc报错org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘POST‘ not
SpringMvc报错,[org.springframework.web.HttpRequestMethodNotSupportedException: Request method ‘POST’ not supported]不能post起初以为是@RequestMapping没有放行post等等,,各种百度折腾了一天没有解决,只能全部改成Get。晚上才找到了问题的原因代码如下@Controller@RequestMappingpublic class LoginController {
2021-05-02 22:06:29
3754
原创 ControllerAdvice的统一响应格式处理
先写一个普通的@Controllerimport org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;import java.util.Map;@Res
2021-04-08 11:22:23
452
原创 Spring学习记录-异常处理
修改了controllerpackage com.example.springio;import com.example.springio.exeption.myException;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annot
2021-04-06 15:32:47
134
原创 JSON 相关
JSON 相关@ResponseBody把对象以字符串返回。而ObjectMapper.writeValueAsString(o) 把对象转换成json格式的字符串。此外,Date对象默认转化为时间戳,如果不想要时间戳,参考以下代码进行格式设置。public class JsonBuilder { public static String json(Object o) throws JsonProcessingException { return (new Object
2021-04-03 14:04:12
154
原创 我的第一个JavaWeb项目-基于servlet的在线教材管理系统Part1——设计与注册部分
大一萌新又来写博客啦~大一上学期结束时 老师给我们布置了基于c语言的课程实验设计 《教材管理系统》之后学了《在线博客系统》后,灵稽一动,决定自己写个在线教材管理系统。技术栈:maven、mysql(8.x)、servlet(3.1)功能介绍:用户分类:用户分为普通用户和管理员用户。普通用户可以查看、借阅与归还书籍。管理员可以增加新的书籍或者删除书籍。1注册界面:分为管理员注册和普通用户注册,管理员账号注册需要输入内置的验证码进行简单的校验。2登陆页面:分为管理员登陆和普通用户登陆,管理员也可
2021-03-22 13:21:30
1424
5
原创 记录自己遇到的题目 -二叉树篇
这个文章用于记录自己遇到的题目 -二叉树篇1:二叉搜索树与双向链表https://www.nowcoder.com/questionTerminal/947f6eb80d944a84850b0538bf0ec3a5```java/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) {
2021-02-05 22:18:07
98
原创 自己实现qsort通用排序。
自己实现qsort通用排序,代码+思路(冒泡实现)#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct student{ char name[10]; int age;}stu;void myqsort(void *arr,size_t size,int count,int (*p)(const void *,const void *)){ for (int i = 0
2021-02-02 19:05:12
375
7
原创 二叉树的最近公共祖先 代码+思路
二叉树的最近公共祖先力扣链接:https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof/问题描述:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2
2021-02-02 02:46:59
380
原创 C语言实现 大小端模式的判断
C语言大小端模式的判断以下介绍摘自知乎:最小存储单位是位(bit):一个位仅可以表示0/1两种值,用来存放二进制数的一个位(类似10进制的个位、十位、百位,只是十进制的一个位,可以表示 0~9 一共10种值)。由于位只能表示0/1,所以,大多数情况下,要表示一个信息都需要很多个位拼在一起用,于是就有了16进制,4个二进制位合进来,表示一个16进制位,于是又有了字节。字节:8个连续位为一个字节,相当于两个16进制位,8个二进制位。字节的出现,方便了存储器寻址提高了效率。计算机先驱们,对字节内多个位顺序
2021-01-31 23:15:47
272
原创 C语言实现扫雷,代码+思路
C语言实现扫雷,代码+思路Github链接:https://github.com/SWQXDBA/Sweep-mines下图非代码实现效果,仅原理展示游戏规则不加赘述游戏源文件目录如下game.h中写函数声明,宏定义与库棋盘大小宏定义#define H 7#define L 7#include<stdio.h>#include<stdlib.h>#include<time.h>void play();void printBoard(char
2021-01-25 12:29:25
728
2
原创 C语言实现三子棋游戏 代码+思路+电脑下棋算法
C语言实现三子棋游戏 代码+思路+电脑下棋算法重点:当检测到电脑已经两子连续时,将会尝试获得胜利。在检测到玩家即将胜利(连城两子)时,进行拦截尝试胜利的优先级高于拦截,意味着如果玩家不能再下一步截断电脑连续的两子,下一回合中将会被击败。源码:GitHub链接https://github.com/SWQXDBA/Sanzi-chess/tree/main/sanziqi其中void clear(char board[H_max][L_max], int H, int L);//清空棋盘v
2021-01-24 16:58:49
3254
25
原创 第一篇
本人大一 坐标二线城市某二本软件工程专业。 去年才是刚刚进入大学的第一年,调剂到了地理类专业,经过不懈努力,成功转入了新一级软工专业。喜欢编程,享受编程的乐趣。经常敲代码或者看网课到一两点。个人有比较明确的学习目标:成为java工程师,毕业后第一份offer能拿到本地10k+,或者外地一线城市15K+。在大一剩余的一个学期以及大二,足够让我学习完所需的知识,第一个小目标是大二的暑假参加一个实习,锻炼自己。爱好将成为我前进路上最大的动力, 学习计算机是一个漫长的过程,我的兴趣也不只在...
2021-01-10 22:16:55
246
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人