自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBaits连接字符串和MyBatis的常见错误(BindingException)

这里的mapper一定是和mybatis有一个table的距离,否则判断不出来,当然出现下面的情况这样也是正确的。要注意你mapper所在文件主路径是否和yml中的配置一致,更需要找到他们之间配置的关系。查看相关信息是否一 一对应,如果没有则会导致文件互相无法找到。在applicaiton.yml中配置方式应该如图所示。出现上述错误的解决方法。

2024-09-02 16:30:40 210

原创 idea代码补全提示

2.点击Editor->General->Code Completion->1.首先查看Setting。点击apply,退出即可。

2024-07-17 23:51:08 293

原创 实验十 索引和数据库的安全性

选择左侧“安全选项”-搜索-添加对象-特定类型的对象-确定-打开“选择对象对话框”-选择对象类型为“表”-确定-安全对象选择product,权限选择授予“选择-确定”),然后验证select_product角色的权限(通过新建角色前后分别以sql server身份访问ecommerce数据库是否可以查询product表的详细信息进行验证)6、使用SQL语句完成如下权限的设置:授予数据库用户sqluser对member表有select、update、delete权限,然后撤销update权限。

2024-07-04 14:45:00 710

原创 实验九 存储过程和触发器

2、创建并执行一个带输入参数的存储过程proc_product2,通过该存储过程可以根据输入参数供应商名称和包含关键字的商品名称进行商品具体信息的查询:包括商品编号、商品名称、品牌、库存量、单价、成本价、供应商名称、联系电话信息3、创建并执行一个带输入参数和输出参数的存储过程proc_product3,通过该存储过程可以根据输入的会员用户名查询出该会员购买的商品信息:包括商品名称、购买数量和实付总金额信息4、删除存储过程proc_product3。

2024-07-04 14:00:00 1662

原创 实验七 SQL数据更新和视图

(9)基于商品表和供应商表创建一个名为view_renbaocomputer的视图,要求能够通过该视图查看供应商名称为“仁宝电脑有限公司”的所有商品信息:包括商品编号pronno、商品名称proname、库存stock、单价price、成本价、供应商名称supname、联系电话telephone信息。(2)向商品表product中插入一条记录:商品编号80101,商品名称“四季通用汽车座套”,库存数量100,单价308,成本价288,商品类别编号801,上架时间“2018-01-01”)

2024-07-04 13:30:00 1808

原创 实验六 SQL数据查询—单表查询

(4) 查询商品类别名称为“手机”的所有商品及其供应商信息,查询结果包含proname、stock、supname、price、cost、ontime。(8)查询商品类别名称为“笔记本电脑”并且单价在3000到5000之间的商品的名称proname、单价price、成本价cost和数量stock。(2) 查询已下订单的商品的orderno、memname、proname、qty、totalmoney信息。(9)查询订单日期为“2021-11-11”,商品类别名称为“手机”类商品的销售总数量。

2024-07-04 13:15:00 311

原创 实验六(1) SQL数据查询—单表查询

题目打开ecommerce数据库,用SQL语句完成下列各项查询要求:查询供应商表supplier中所有供应商的信息查询供应商表supplier中所有北京地区供应商的名称supname和联系电话telephone查询商品类别表category中所有商品类别的信息,并以“类别编号”、“类别名称”、“描述”作为输出表的字段名称从商品表product中检索上架日期最近的前5条电脑商品的记录信息检索具有订单记录信息的会员编号。

2024-07-04 12:15:00 839

原创 实验四 SQL的数据定义语句

2) 商品表product(prono,proname,brand,stock,supno,price,cost,picture,catno,ontime,status)要求proname不能取空值。商品表:product(prono,proname,brand,stock,supno,price,cost,picture,catno,ontime,status),要求proname不能取空值。1) 商品类别表:category(catno,catname,describe),主码为catno。

2024-07-04 12:00:00 1407

原创 实验五 数据库完整性约束的实现与验证

员工表:employee(empno,empname,depno,sex,telephone,username,userpwd),主码为empno,depno参照部门表department的主码属性depno。会员表:member(memno,memname,address,telephone,username,userpwd),主码为memno,属性memname不能取空值。8定义一个默认值,并绑定在员工表employee的userpwd属性上,要求userpwd属性的默认取“123456”

2024-07-04 12:00:00 1306

原创 实验三 SQL Server SSMS工具添加数据

(2)由于product表中使用了supplier表的外键supno,所以先创建供应商表supplier。由于orders表中使用了member表的外键memno,所以先创建会员表member。(1): 商品类别表category。(1)商品类别表category。(7)部门表department。(6)部门表department。华为P50 4G全网通智能手机。小米EA55金属全面屏平板电视。索尼HDR-CX405摄像机。(2)商品表product。联想m101dw激光打印机。

2024-07-04 11:45:00 1401

原创 数据库原理实验报告第二次-SQL Server SSMS工具创建和管理数据库及数据表.

(1)为商品表product添加生产日期一列,列名为producedate,数据类型为smalldatetime,允许为空。(3)为商品表product属性列catno添加外键约束,catno参照商品类别表category中的属性列catno的值。(2)为订单表orders增加发货日期一列,列名为deliverdate,数据类型为datetime,允许为空。(5)为订单表orders中的属性列orderdate添加默认值约束,默认值为系统日期。是否下架,1代表下架,0代表在售,2代码删除,默认为0。

2024-07-04 11:30:00 1018 1

原创 数据库原理实验报告第一次-数据库设计

属性:物流ID (ShippingID),发货状态 (ShippingStatus),物流单号 (TrackingNumber), 发货时间 (ShippingDate)属性:订单ID (OrderID), 下单时间 (OrderDate), 状态 (Status), 总金额 (TotalAmount)属性:商品ID (ProductID), 名称 (Name), 价格 (Price), 库存 (Stock),发货状态,物流信息,发货时间,订单ID)下单时间,金额,状态,用户ID,商户ID)

2024-07-04 10:30:00 297

原创 实验八 T_SQL编程

4、查询商品表product的商品编号、商品名称、单价、库存量、商品类别名称信息,其中商品类别使用CASE语句,当类别编号为101时,则类别名称为手机;当类别编号为201时,则类别名称为激光打印机;当类别编号为202时,则类别名称为喷墨打印机,当类别编号为301时,则类别名称为平板电脑∙∙∙∙∙∙(具体参照商品表)4.查询商品表product的商品编号、商品名称、单价、库存量、商品类别名称信息,其中商品类别使用CASE语句,当类别编号为101时,则类别名称为手机;如果不存在,则插入新的供应商记录。

2024-06-28 23:31:13 991

原创 测试与开发

动态测试(dynamictesting),指的是实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断一个测试属于动态测试还是静态的,唯一的标准就是看是否运行程序。α测试不能由程序员或测试员完成。但是,灰盒测试没有白盒测试详细和完整,黑盒测试是覆盖产品范围最广的测试,因此灰盒测试基本是不能够替代黑盒测试,否则需要很大的代价,设计非常多的用例。灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。

2024-06-10 15:27:51 580

原创 js

通过控制台就能看到数据类型为object,可以通过键值对的方式将向数组内插入相应的数据,由于js是弱类型所以他是可以一个数组有多个数据类型的。string字符串类型,字符串字面值需要使用引号引起来,单引号双引号均可,ES6中新增的声明变量的关键字,作用域为该语句所在的代码块内。如果对应的位置没有数据,那么会用undefined来替代。弱类型/强类型:类型是否需要强制转换。javascirpt:动态弱类型语言。上面都是弱类型,都可以呗强制转换。==比较值,不校验类型。===值和类型都相等。

2024-06-04 09:48:08 446 1

原创 Web前端

1.建立web开发的息维模式写代码不仅仅是为了实现某个功能,更是学习解决问题的思维方式2.先使用,再理解,会导致刚开始比较懵,不知其所以然.切忌不可深陷其中,3.涉及简单的软件工程的设计思想(前后端分离思想,后端工程的分层思想)4.理解前后端交互的过程5.遇到的问题更加多样,除了代码带来的问题,还有环境带来的问题(各种缓存,导致现象看起来莫名其妙).6.需要大量的反复练习,来加深对这个知识点的理解,7.知识点上下文会经常有关联,需要仔细听才能搞懂各个知识点的逻辑关系,

2024-06-02 21:17:58 363

原创 用例篇03

因素:存在的条件水平:因素的取值最简单的正交表:L4(2)应用 allpairs 来实现正交表。步骤:1.根据需求找出因素和水平2.将因素和水平写入到excel表格中(表格不需要保存)(推荐用微软的)3.在allparis.exe同级文件夹下创建一个txt文件,将excel表格中的内容复制到txt文件中4.使用allparis.exe工具对txt文件生成正交表文件。5.根据生成好的正交表来编写测试用例,继续将重要的用例补全其中包含没有。

2024-06-02 20:42:19 616

原创 http&JVM

黑客首先受到服务器的公钥,黑客就向客户端发送pub2,然后客户端不知道公钥是不是服务器发来的,所以就会给出回应,基于pub2加密的对称密钥给予黑客,黑客针对刚才收到的pub2加密的数据进行解密,从而拿到这里的对称密钥!上述过程,主要为了应对这个场景:比如你自己代码里写了一个类,类的名字和标准库/扩展库冲突了,JVM会确保加载的类是标准库的类(就不加载你自己写的类]java.lang.String如果标准库的这个String加载不了,怕是整个Java进程没法正确工作了!

2024-05-28 13:06:37 1193

原创 用例篇

进行弱网测试的方法:抓包工具 fiddle设置数字越大说明传输效率效率越慢。

2024-05-26 18:39:58 286

原创 HTTP3

状态码:描述了这次HTTP请求是否成功,以及失败的原因。他们用相应的状态码来描述异常的发现。

2024-05-23 15:56:44 779

原创 HTTP2

Cookie是啥:浏览器本地存储数据的一种机制(不是唯一的一种,只是典型的一种)Cookie怎么存的:按照不同的域名,分别存储在硬盘上的.不同域名之间的cookie互不干扰键值对,存储文本.键和值都是用户自定义的.Cookie从哪里来:从服务器来.服务器的HTTP响应header中可以填写Set-Cookie字段,就会带有一些键值对。Cookie到哪里去:在后续请求中,通过HTTP请求的header中的Cookie字段,把信息传输给服务器。

2024-05-21 09:20:58 926

原创 HTTP协议

HTTP3.0!=Web3.0Web3.0=》区块链圈子里造出的一个名词是对于未来的一种美好憧憬短时间之内(20年之内)很难到达~HTTP3.0,则是基于UDP协议实现的.(人家在应用层实现了一套可靠传输机制)

2024-05-19 15:33:18 792

原创 网络原理3

运营商路由器,也可以把它当做一个NAT设备它就会对中间经过的数据包,进行网络地址转换当内网设备经过运营商路由器访问外网的时候就会把IP数据包中的源ip,替换成它自己的ip.我的电脑要发送一个数据给cctalk服务器此时,我的电脑上就会构造出一个IP数据包在两个连接时候会出现在运营商路由器的时候创建了一个表所以他就会根据查询的结果和这个表来转换将IP和端口都替换回来但是假设两个端口号是一样的呢?运营商通过在不用的源IP定义为不用的源端口号,这样就防止了,服务器只返回一个反馈的问题。

2024-05-18 23:35:34 625

原创 网络原理2

建立连接,就是通信双方,各自保存对端的信息~谁发起,谁就是客户端客户端和服务器各自给对方发送syn,再各自给对方返回一个ack一共,其实是4次交互~~关键在于,中间的两次交互ACK和SYN可以合并成一个网络数据。ACK:6个标志位第二位为1SYN:6个标志位第五位为1所谓的合并,就是让这一个TCP数据报,报头中,同时把两个bit都设为1。三次握手的时候,相当于,双方各自让对方保存自己的信息得是两边都把对方的信息保存好,连接才算是建立完成。保存对方的信息,就是对方的ip和端口。

2024-05-17 16:27:47 638

原创 概念+bug

增量模型是将一个大的需求变成小的功能,然后将每个功能逐个开发几乎完整再上线。迭代模型会上线一个基础版本,但是基础版本所有的功能都有但是非常简陋,之后再迭代优化上线。一般都是两个一起用,不具体区分迭代模型和增量模型。

2024-05-17 14:34:21 1004

原创 网络原理

B的内核态中有接受缓冲区,那会把接受的数据放入一个阻塞队列中,然后根据数据的序号来判定这个数据是否在队列中存在(或者曾经在队列中存在过)只要存在过,这个新的数据就不会进入队列,而是直接丢弃。在日常生活中,每个交换机或者路由器是有上限的,当一个机器转发的信息量过多,合作社超出自己能处理的极限的时候,就会把接下来多出来的信息直接丢弃。((首部长度的单位是4个字节)。在其中也会根据序号自动来排序,让序号小的,在前头,序号大的在后头,并且数据和数据之间的序号始终都是连续的,这样就能提高效率。通过发送的序号来去重。

2024-05-09 16:10:48 837

原创 网络原理

UDP端口号IP地址(确定主机)+端口号(在机上的应用程序)网络层提供的概念 传输层提供的概念一个字节:有符号-128=>+127无符号0=>255两个字节:有符号:-32768=>+32767无符号0=>65535四个字节:有符号:-21亿=>+21亿无符号:0=>42亿9千万同一个机器上,同一时刻内,端口号不能重复被绑定。某个进程A绑定了10000端口号,此时进程B也尝试绑定10000端口,此时B就会绑定失败!

2024-04-30 08:54:06 837

原创 测试

调试 测试目的 发现并解决问题 发现问题角色 开发人员 开发、测试...项目组成员阶段 开发阶段 贯穿于软件的整个生命周期。

2024-04-28 21:27:44 314

原创 网络编程

当数据交给上一层的时候,是由哪个协议负责进行解析呢??比如,数据链路层=>网络层,交给IPv4解析?IPv6解析?网终层=>传输层交绘TCP解析还是IDP2。socket=>操作系统提供的网络编程的API就称为socketapi(插槽),可以认为是“网络编程api”的统称。

2024-04-25 15:13:48 982

原创 测试的面试题

测试在生活中处处可见。我个人认为测试=尝试以达到自己期望的状态。

2024-04-21 23:11:22 191

原创 网络初识

一个区域的网。

2024-04-21 22:41:10 739

原创 IO

以字节为单位读写数据不能实例化,这个东西对应的不仅仅是文件、还有控制台、网卡等。

2024-04-21 17:23:07 920

原创 HashTable, HashMap, ConcurrentHashMap 之间的区别

HashTable是线程安全的类,很多方法都是用synchronized修饰,但同时因为加锁导致并发效率低下,单线程环境效率也十分低;但HashTable不允许键或值为null;HashTable底层数组长度可以为任意值,这就造成了hash算法散射不均匀,容易造成hash冲突,默认为11;HashTable的hash算法首先使得hash值小于整型数最大值,再通过取模进行散射运算;

2024-04-16 09:46:34 266

原创 IO输入输出流

输入输出是以CPU为基准的,当数据从内存来到寄存器的时候叫做输入,从寄存器到内存的时候叫做输出。

2024-04-16 09:04:20 890

原创 多线程8

在这个线程中如果变成了这样这两个东西不相等,就会产生bug,上述的过程就属于ABA问题的典型bug场景是非常高极端的情况如何避免ABA问题呢??核心思路是,使用账户余额判定,本身就不太科学.账户余额本身就属于"能加也能减”,就容易出现ABA问题,引入"版本号”,约定版本号,只能加,不能减~~每次操作一次余额,版本号都要+1通过CAS判定版本号,就可以进一步的来完成上述的操作~~一个版本号走一步。

2024-04-15 16:11:19 488

原创 多线程7

判断条件:加锁的时候,预测当前锁冲突的概率是大还是小预测当前锁冲突概率大,后续要做的工作往往就会更多.加锁开销就更大(时间,系统资源)=>悲观锁预测当前锁冲突概率不大,后续要做的工作往往就更少.加锁开销就更小(时间,系统资源)=>乐观锁synchronized是属于既是乐观锁,也是悲观锁,它支持自适应.synchronized能够自动的统计出当前的锁冲突的次数,进行判定当前是锁冲突概率低,还是概率高当冲突概率低的时候,就是按照乐观锁的方式来执行的.(速度更快)

2024-04-12 20:24:23 509

原创 多线程6

线程池的应用上述中 i 存在问题,这是变量捕获问题,i一直在改变不能在print中使用,所以更改代码如下创建线程池一个线程池要包含哪些东西?1)有若干个线程2)有任务队列.(使用Runnable即可)3)提供submit方法main线程的任务是先是创建对象,通过调用MyThreadPoll的构造方法来创建n个线程,然后各个线程进入无限循环,然后等到有任务进入,然后通过sbimt方法添加到任务队列queue,然后到任务队列,任务队列将其分布到各个线程最后达到线程池的作用。

2024-04-12 13:07:30 428

原创 多线程5

wait不仅仅会被notify和notifyAll唤醒也可能被其他的操作唤醒比如interrupt。优化再用wait方法的时候,应该搭配while判断条件的方式。这样的话就可以在被唤醒的时候再次确认,条件是否能再次成立,防止他覆盖到原来的哪些元素,当然这里的while循环对资源的调度是很小的,所以在执行了很多次以后就会忽略,防止了循环过多次而造成的死循环。当然wait也是可以被interrupt打断的。

2024-04-11 14:54:12 689

原创 多线程4

想获取到第二把锁,就需要执行完第一层大括号,想要执行完第一层大括号,就要先获取到第二层的锁。例子:t2先启动,t2进行加锁后一定成功,但是如果t2进行二次加锁的时候因为counter2已经被锁定了,所以他需要外层大括号的counter2进行解锁,但是这又是加锁操作,所以就会一直阻塞等待,于是就矛盾了,产生了对峙的画面(狗咬狗不松口)。"引用计数"可重入锁,防止程序员搞成死锁。如何判定,当前遇到的}是最外层的}??JVM 是咋知道的??更简单的办法,就是给锁对象里也维护一个计数器。

2024-04-07 22:29:56 940

原创 多线程3

synchronized下面跟着{}当进入到代码块,就是给上述()锁对象进行了加锁操作当出了代码块,就是给上述()锁对象进行了解锁操作看不到形如lock()unlock0方法的(其他语言都是这么搞的)Java 中随便拿一个对象, 都可以作为加锁的对象.(这个是 Java 中特立独行的设定)其他语言中(C++,Go, Python....) 都是只有极少数特定的对象可以用来加锁.一个线程获取到锁之后,另一个线程也尝试加这个锁,就会阻塞等待,(也叫做锁竞争/锁冲突)

2024-04-06 00:26:17 841

空空如也

空空如也

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

TA关注的人

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