- 博客(10)
- 收藏
- 关注
原创 MyBatis 如何防止SQL注入
对于上面的参数可能有人会有疑问,为什么字符串参数在使用$取值的时候没有带上外层的双引号?or 1 =1 没有构成单独的查询条件,上面的SQL显然不会构成SQL注入;当调用Mapper的方法时会将对应的参数直接拼接到SQL后面,比如调用。#{}是使用预编译的方式,将SQL提前进行编译,使?${}是使用字符串拼接的方式,将参数拼接到SQL语句里再编译执行。当调用Mapper的方法时会将对应的参数替换到?MyBtis的两种参数取值方式分别是**#{}如果带上双引号的话SQL如下。上面的SQL会先编译成。
2024-10-28 15:24:52
300
原创 MySQL学习——深入理解MySQL底层数据结构
B+树:索引值会重复出现,每一层节点都是有序的,data都在叶子节点,叶节点之间有指针指向(mysql是双向的),每页大小为16K,对于千万级别的数据只需要3层(1170(16 k / 14 b) * 1170 * 16)innodb默认的索引文件时根据主键建立的,如果没有主键则会查找所有行的值都不同的列建立索引,如果找不到这样的列则会生成隐藏列(类似(row_id)innodb非id索引的data节点存放的是当前记录对应的主键?缩小节点的空间占用,每次从磁盘加载的时候可以加载更多的节点数据。
2024-03-29 14:19:38
219
原创 编程学习心得
编程学习心得学习步骤学习步骤是什么: 明确当前学习的内容。对当前学习的内容进行简要的概况,包括但不仅限于功能、应用场景;为什么: 明确当前学习的目的。确定学习该内容的需求,能解决目前或将来需要面对的哪些问题;怎么办: 明确当前学习的方式。制定学习计划,动手实践,针对每天的学习内容编写相关的笔记进行复习整理;
2024-03-28 17:21:11
145
原创 java开发中遇到的bug以及解决方案合集,持续更新中~~~
本文主要收集整理开发过程中遇到的问题,以及对应的解决方案。如果针对某个bug有其他解决方案,可以在评论区回复(注意需要带上bug编号)博主会及时整理并更新到文档上
2023-07-31 17:33:13
379
原创 exe4j和innosetup打包exe文件时出现 NO JVM could be found
需要在inno setup在这个页面里加入jre文件夹;选中添加文件夹,这里需要新建一个文件夹(下图中的jreFile),然后将jre文件夹放到刚刚新建的文件夹下,如下图最后选择添加刚刚新建的文件夹(jreFile),最后的结果如下图...
2021-12-10 10:43:54
1559
原创 JAVA抽象类和接口的区别
抽象类:使用abstract class定义一个抽象类 抽象类更倾向于功能的扩展;首先抽象类对公共功能进行封装,然后子类根据需要对功能进行修改或扩展 抽象类里可以存在抽象方法和非抽象方法;但是存在抽象方法的类(之前背面试题的时候漏了这个字,然后就好奇接口里的不也是抽象方法...)一定是抽象类; 抽象类里是可以有构造方法的,因为抽象类里可以定义属性,而子类可以通过构造方法类修改抽象类的属性;但是抽象类不可以创建对象,因为存在抽象方法的话,对象调用不了该方法,但是不存在抽象方法的话抽象类就和普通类一样
2021-07-12 20:47:35
139
原创 Linux重定向符:">"和">>"的区别
重定向符 “>”> 是定向输出到文件,如果文件不存在,就创建文件;如果文件存在,就将其清空;重定向符 “>>”>> 这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。区别相同:若文件不存在都会新建文件。不同:若文件存在,">“会先清空文件内容在添加新内容;”...
2019-06-09 22:41:59
2231
原创 Jupyter更改默认工作目录的两种方法
Jupyter更改默认工作目录的两种方法方法一、方法二、方法一、打开Anaconda Prompt,运行jupyter notebook --generate-config。根据提示路径打开jupyter_notebook_config.py文件。找到#c.NotebookApp.notebook_dir =;去掉#,修改为c.NotebookApp.notebook_dir = ‘你的...
2019-05-30 13:38:32
31768
32
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人