- 博客(29)
- 收藏
- 关注
原创 人员管理系统遇到问题记录
在操作的时候,vue前端页面突然空白,看控制台也没有报错,我这里遇到的问题是把子组件的名字写错了,在写代码的时候习惯ctrl+z进行撤回,速度过快不好把握自己的原始代码到低是什么样子的,后面也是通过vscode的日志功能查看之前的代码找到的错误。在计算合同到期时间时,最开始是想用合同新增时选择到期时间,但后续的展示以及数据逻辑的编写有一定的问题,因此我决定使用前端发送请求时携带参数,参数代表合同 的年限,后端自动计算到期时间,并把合同年限保存在数据库,当修改时回调。
2023-07-23 22:51:51 126
原创 设计模式之装饰模式
是在原有类的基础上动态添加新的功能,这种添加功能的方式不同于继承,它是在对象层面实现功能扩展,而不是继承的类层面,因此说装饰器模式比继承更加灵活。另外,装饰器模式属于结构型设计模式。创建型可以理解为生成新的对象,而结构型可以理解为构建更大的类或类对象。首先装饰器模式里面,最开始有一个componet构件,定义了需要实现哪些方法,而concretecomponent相当于第一代产品,而decorator可以是一个抽象类也可以不是,在里面是实现了原有的方法并动态的通过对象对功能进行扩展。下面写了一个对于实现。
2023-06-09 20:07:38 112
原创 ajax和json redis
1)性能NOSQL是基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高。rdis是一个内存数据库,当redis服务器重启,或者电脑重启,数据就会丢失,我们可以让redis内存中的数据持久化保存到硬盘中的文件中。1)维护的工具和资料有限,因为nosql是属于新的技术,不能和关系型数据库10几年的技术同日而语。NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。
2023-05-31 20:15:13 127
原创 JQuery应用
判断如果元素对象上存在class="one",则将属性值one删除掉。* 对象1.insertBefore(对象2): 将对象2添加到对象1前边。* 对象1.insertAfter(对象2):将对象2添加到对象1后边。* 对象1.before(对象2): 将对象2添加到对象1前边。* 对象1.after(对象2): 将对象2添加到对象1后边。* 对象1.append(对象2): 将对象2添加到对象1元素内部,并且在末尾。* 对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头。
2023-05-26 17:58:31 114
转载 localStorage和sessionStorage
和 sessionStorage 属性允许在浏览器中存储 key/value 对的数据。用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。提示: 如果你想在浏览器窗口关闭后还保留数据,可以使用 localStorage 属性, 改数据对象没有过期时间,今天、下周、明年都能用,除非你手动去删除。
2023-05-22 14:18:52 116
原创 git版本控制工具
删除远程仓库分支:git push origin –d branchName。添加远程仓库:git remote addgit fetch 从远程仓库获取最新版本到本地仓库,不会自动合并。初始创建远程仓库时,远程仓库没有代码,直接pull会报错,因此使用。推送到远程仓库的分支:git push origin 分支名。将暂存区的文件修改提交到本地仓库:git commit。从本地移除远程仓库: git remote rm。删除分支:git branch-d 分支名。
2023-04-25 09:59:51 36
原创 动态修改数据库数据
首先我写了两个工具类 JDBCUtils和JDBCTemplate,用来连接数据库和动态获取sql语句和获取实体类的方法。运用反射动态的获取实体类里面的get方法,运用stringbuffer凭借反射获取实体类属性名并且拼接成SQL语句。这里运用反射获取实体类里面属性,判断是否为空为空不执行prepareStatement的传参。* @Description 关闭连接和Statement的操作。* @Description 获取数据库的连接。这里我运用的是jdbc连接数据库,运用三层架构的思想。
2023-03-17 15:50:58 360
原创 jdbc查询数据库数据遇到了一个错误
在后面我换成具体字段后又出现bug,经过查阅发现在多表查询里面需要指定字段属于哪个表否则会报错。首先在runner里面使用select*是会报错的具体原因需要后面探索。今天在使用QueryRunner类来查询多表数据时遇到bug。而使用preparestatement则不会报错。但可以看出queryrunner使用起来简便许多。
2023-03-13 15:10:06 295
原创 jdbc介绍
Java厂商制定规范的一套接口(jdbc),由各个数据库厂商实现(jdbc驱动),当我们用Java访问数据库时,只需要导入对应厂商提供的驱动jar包,然后使用程序调用接口中的方法即可。 jdbc是java提供的一套用于数据库操作的接口API,不同的数据库厂商需要针对这套接口提供不同的实现,Java程序猿只需要面向这套接口编程即可。2.1 new一个properties对象2.2调用这个propertoes对象的load方法,传入一个FileInputStream对象,获取到配置文件。优点:使用配置文件,让
2023-03-10 17:38:27 48
原创 数据库重要知识
视图:一张虚拟的表好处:sql语句提高重用性,效率高和表实现了分离,提高了安全性视图与表的区别? 使用方式 占用物理空间视图 完全相同 不占用,仅仅保存的是SQL逻辑表 完全相同 占用视图创建 CREATE VIEW 视图名 AS 查询语句;示例:CREATE VIEW myview as select * from user;视图更新:crteate or re
2023-03-07 11:00:39 85
原创 数据库查询 连接
多表:update 表1 别名1,表2 别名2 set 字段=新值,字段=新值 where 连接条件 and 筛选条件;添加数据: insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);修改表:单表:update 表名 set 列名1 = 值1, 列名2 = 值2,... [where 条件];4.delete 删除带自增长列的表后,如果再插入数据,数据从上一次的断点处开始。3.truncate 删除带自增长的列的表后,如果再插入数据,数据从1开始。
2023-03-07 09:49:36 64
原创 什么是单例模式
在这三步中,第二三步有可能会发生指令重排现象,创建对象顺序变为1-3-2,会导致多线程获取对象时,有可能线程A创建对象的过程中,执行了1、3步骤,线程B判断singleton已经不为空,获取到未初始化的singleton对象,就会报NPE异常。饿汉式在类加载时已经创建好该对象,在程序调用时直接返回该单例对象即可,即我们在编码时就已经指明了要马上创建这个对象,不需要等到被调用时再去创建。其次,既然是实现单例模式,那这种写法必定满足单例模式的要求,而且使用枚举实现时,没有做任何额外的处理。
2023-03-03 15:32:06 87
原创 整理一下数据库查询用到的基本操作
条件查询 -- 查询员工信息,要求工资从高到低排序 SELECT * FROM employees ORDER BY salary DESC;-- 查询部门编号>=90的员工信息,按如入职时间先后进行排序 SELECT * FROM employees WHERE department_id ORDER BY hiredate ASC;-- 按年薪的高低显示员工的信息和年薪 【按表达式排序】 SELECT,salary。
2023-02-24 16:56:03 356
原创 四种内部类
①匿名内部类的语法比较奇特,请大家注意,因为匿名内部类既是一个类的定义,同时它本身也是一个对象,因此从语法上看,它既有定义类的特征,也有创建对象的特征,,因此可以调用匿名内部类方法。⑦如果外部类和匿名内部类的成员重名时,匿名内部类访问的话,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.成员)去访问。7.如果外部类和内部类的成员重名时,内部类访问的话,默认遵循就近原则,如果想访问外部类的成员,则可以使用(外部类名.this.成员)去访问。匿名内部类:顾名思义就是没有名字的类。
2023-02-17 16:41:59 565
原创 关于做校园兼职平台遇到的一些异常并如何处理
判断一个String的实例s是否等于“a”时,不要写成s.equals(“a”),这样容易抛NullPointerException,而写成"a".equals(s)就可以避免这个问题,不过对变量先进行判空后再进行操作更好,尽量避免返回null,方法的返回值不要定义成为一般的类型,用数组。这样如果想要返回null的时候,就返回一个没有元素的数组。而创建对象输入流时只能读取到第一次写入的流信息,因而在尝试读取第二次追加保存的对象信息时,由于未读取文件中第二次写入的流信息而直接读取对象,从而抛出了异常。
2023-02-16 10:09:18 79
原创 java反射学习小结
是指在运行时去获取一个类的变量和方法信息。然后通过获取到的信息来创建对象,调用方法的一种机制。由于这种动态性,可以极大的增强程序的灵活性,程序不用在编译期就完成确定,在运行期仍然可以扩展。
2023-02-08 19:12:01 52
原创 封装 继承 多态
3.super是一个对象级的关键字,也就是说得有对象才能调用super,所以super不能出现在静态方法中(带有static关键字的方法)5.当访问的子类属性与父类继承过来的属性或方法名字一样时,你又想要访问父类型的这部分特征时,必须使用super关键字。this关键字:代表当前类对象引用(地址) 就是当前类的地址值,哪一个对象调用的this,this就代表哪个对象。封装将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。代表的是当前对象的父类型特征。
2023-02-07 19:56:52 84
原创 IO学习知识总结
,当然可以通过线程池机制改善。AIO:异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由操作系统先完成了再通知服务器应用去启动线程进行处理,AIO方式使用于连接数目多且连接比较长(重操作)的架构,比如相册服务器,充分调用操作系统参与并发操作,编程比较复杂,JDK1.7之后开始支持。异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的请求,被调用者通常依靠事件,回调等机制来通知调用者其返回结果。
2023-02-06 21:27:56 132
转载 List,Set,Map底层·数据结构学习笔记
ArrayList、Vector默认初始容量为10Vector:线程安全,但速度慢底层数据结构是数组结构加载因子为1:即当 元素个数 超过 容量长度 时,进行扩容扩容增量:原容量的 1倍如 Vector的容量为10,一次扩容后是容量为20ArrayList:线程不安全,查询速度快底层数据结构是数组结构扩容增量:原容量的 0.5倍如 ArrayList的容量为10,一次扩容后是容量为15。
2023-02-01 20:02:39 874
原创 String StringBulider StringBuffer
这里的值打印出来后从123变成了abc,但实际上是没有改变的,这里的str只是对象的引用,并不是对象本身,引用只是存放了它所指向的对象的地址,通过地址可以访问对象,这个引用存放在Java虚拟机栈栈帧的局部变量表中。执行之后,重新创建一个对象,str指向这个对象,原来的对象"123"在内存里面没有改变。以""方式给出的字符串,只要字符串序列相同(顺序和大小写),无论在产能的程序代码中出现过几次,jvm都只会建立一个String对象,并在字符串池中维护。创建字符串对象两种方式的区别。字符串变量 是可变的。
2023-01-03 15:53:11 88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人