- 博客(135)
- 收藏
- 关注
原创 给我青春里的不甘的一封信:向生活妥协的第一步
亲爱的不甘,你好。因为我们是平辈,所以我说你好。自我初中的青春期以来,身为一个极度爱出风头,又身处最后一排的坏孩子的其中一个。不得不说,看到站在领奖台上的运动员们会羡慕,看到在演讲台上举止从容的演讲者会羡慕,看到篮球男孩们一起相拥,欢呼也会羡慕...而我,只能收起那份羡慕然后低下头假装看那本崭新的课本。因为从小受到一些见怪不怪的校园霸凌,所以理所应当得变成了一个自卑,不敢看别人眼睛,走路要贴着墙的孩子。甚至,我没有爱好,甚至不爱看动漫,甚至不爱看小说,甚至不爱打游戏。我不知道我为什么会这样,但我好像习惯了我
2021-12-07 22:20:58
389
2
原创 UDP (User Datagram Protocol)消息发送
服务器端 package com.haoran.lesson03; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class UdpServerDemo01 { public static void main(String[] args) throws Exception { DatagramSocket soc.
2021-12-07 15:41:25
1872
原创 TCP文件上传实现(三次握手)
服务器端 package com.haoran.lesson02; import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.nio.charset.StandardCharsets; public class TcpServerDemo02 { public static void main(String[] args) throws Exception { //创
2021-12-02 20:38:09
300
原创 TCP实现文件的接收
服务器端 package com.haoran.lesson02; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; public class TcpServerDemo02 { public static void
2021-11-29 20:46:24
786
原创 TCP实现数据的接受
package com.haoran.lesson01; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; //=========在服务器============= public class TcpServerDemo01 { public static.
2021-11-29 11:27:16
672
原创 关于端口封装
package com.haoran.lesson; import java.net.InetSocketAddress; public class testport { public static void main(String[] args) { InetSocketAddress inetSocketAddress = new InetSocketAddress("127.0.0.1", 8080); //用来封装端口; System.o.
2021-11-28 21:12:11
475
原创 利用java获得IP地址
package com.haoran.lesson; import java.net.InetAddress; import java.net.UnknownHostException; public class testip { public static void main(String[] args) throws UnknownHostException { InetAddress byName1 = InetAddress.getByName("www.baidu.c.
2021-11-28 20:29:56
273
原创 C3P0连接池
1首先在下面地址下载两个jar包,然后导入jar包 c3p0:JDBC DataSources/Resource Pools download | SourceForge.net 2写一个c3p0的配置文件c3p0-config.xml(数据来自B站up:遇见狂神说) <?xml version="1.0" encoding="UTF-8"?> <c3p0-config> <!-- c3p0的缺省(默认)配置 如果在代码中"ComboPooledDataS.
2021-11-24 17:39:40
555
原创 DBCP连接池(利用封装更加快捷的处理问题)
1首先在下面地址下载两个jar包 DBCP连接池所用到的两个jar包下载地址_ximexi的博客-CSDN博客DBCP连接池所用到的两个jar包下载地址commons-dbcp.jar:http://commons.apache.org/proper/commons-dbcp/download_dbcp.cgicommons-pool.jar:http://commons.apache.org/proper/commons-pool/download_pool.cgihttps://blog.csdn.n
2021-11-23 22:35:03
873
原创 JDBC执行事务
package com.haoran.lesson4; import com.haoran.lesson2.utils.jdbcUtils; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class transaction { public static void main(String.
2021-11-23 17:45:07
165
原创 使用idea连接数据库
输入端口号,username,password连接成功 就可以在idea中进行数据处理,可以进行双击然后编辑数据,记得提交 ↑ 图标 编写SQL代码的地方 create table account( id int primary key auto_increment, `name` varchar(40), money float ); insert into account(id, name, money) value (1,'xiaoli',12.22)...
2021-11-23 15:45:32
1117
原创 PreparedStatement先编译SQL在执行execute
写在前面: 对于Statement执行SQL语句,首先需要进行书写SQL语句,然后在Statement.executeUpdate(sql)中执行SQL语句,很容易出现安全性问题。所以引入PreparedStatement,此方法可以先进行SQL的预编译,然后给SQL中的占位符进行赋值,然后直接进行执行executeUpdate()。 插入数据 package com.haoran.lesson3; import com.haoran.lesson2.utils.jdbcUtils; impor
2021-11-22 22:24:28
884
原创 SQL注入问题
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击 package com.haoran.lesson
2021-11-22 20:18:25
3059
原创 在JDBC中利用工具类来进行更新和查询
1在src中新建一个db.properties的file,并在文件中书写数据库的基本信息url,diver,username,password 2新建jdbcUtils.java文件,进行书写工具类 package com.haoran.lesson2.utils; import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties; //在该处写调用db.
2021-11-21 21:51:22
742
原创 第一个JDBC程序、JDBC的连接 (修改版)
JDBC下载 MySQL8.0.19 JDBC下载与使用_lime2019的博客-CSDN博客 对于下载好的jar后缀的数据需要 右键转化为library 然后新建javaclass项目进行测试 package com.haoran.lesson1; import com.mysql.cj.jdbc.Driver; import java.sql.*; //我的第一个jdbc程序 public class jdbc { public static void main(Str...
2021-11-18 22:48:46
385
原创 三大范式以及性能问题
三大范式 概念解释: 三大范式其实就是数据库建表的规范。 第一范式:要求一张表中的数据每一列都是不可分割的原子项数据 第二范式:消除部分依赖,要求一张表中的每一列都完全依赖于主键(针对于组合主键),也就是不会出现某一列只和部分主键相关 第三范式:消除传递依赖,要求一张表中的每一列都和主键是直接依赖的,不是间接依赖 举例分析: 第一范式:要求一张表中的数据每一列都是不可分割的原子项数据 例如下面的这张表就是不符合第一范式的,因为家庭信息和学校信息中的数据都不是原子项数据。 修改之后:此时所有的数据就是
2021-11-18 20:22:22
318
原创 大体构思一下一个项目所需数据库
收集信息,分析需求 1,用户表,主要包括用户信息,注册,注销以及用户的分类 2,分类表,文章的分类,以及作者的分类 3,文章表,文章的信息,书写内容以及书写时间 4,评论表,评论的内容,评论的方向,时间先后 5,友链表,友链信息 6,自定义表,系统信息,自定义分类 7,说说表,说说内容,说说心情分类, 标识实体 把每个需求都落实到字段 实体之间的关系 例如:写博客 user—>blog 创建分类:user—>category 关注:user—>user 评论:u
2021-11-18 19:41:51
660
原创 数据库的用户管理
SQLyog的可视化管理: SQL命令操作: 在user表中进行操作 CREATE USER 用户名 IDENTIFIED BY '密码' SET PASSWORD =PASSWORD('新密码')//修改当前用户的密码 SET PASSWORD FOR 用户名 =PASSWORD('新密码')//修改制定用户的密码 RENAME USER 用户名TO 新的用户名//重命名 用户授权: GRANT ALL PRIVILEGES ON *.* TO 用户名//把所有数据库下的...
2021-11-18 11:22:36
498
原创 索引介绍和分类
官方定义:索引(index)是帮助MySQL高效获取数据的数据结构。 分类 primary key(主键索引) 唯一的标识,主键不可重复,不可以为空()。 unique index(唯一索引) 在索引列上增加了一层唯一约束。添加唯一性索引的数据列可以为空,但是只要存在数据值,就必须是唯一的。可以存在多个unique index,不同列都可以标识为unique index key/index (常规索引) 默认的,index和可以关键字来设置 fulltext(全文索引) 在特定的引擎下才有
2021-11-17 21:29:40
565
原创 事务的提交与回滚
对于mysql数据库,默认情况下,数据库处于自动提交模式。每一条语句处于一个单独的事务中,在这条语句执行完毕时,如果执行成功则隐式的提交事务,如果执行失败则隐式的回滚事务。对于正常的事务管理,是一组相关的操作处于一个事务之中,因此必须关闭数据库的自动提交模式 set autocommit=0;关闭自动提交 start transaction ;开启一个事务 update account set money=money-100 where `name`='A' update account set m
2021-11-17 19:39:11
3270
原创 事务的ACID原则
原文事务ACID原则_Dylan Lin的博客-CSDN博客_事务acid原则 数据库事务( transaction)是访问并可能操作各种数据项的一个数据库操作序列。事务必须满足ACID原则——即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。 一、原子性 原子性指事务是数据库工作的最小单位,一个事务中的所有操作要么全部成功提交,要么全部失败回滚。以经典的银行转账情境为例,假设A和B两个账户分别拥有100元,此时A向B转账10
2021-11-17 15:53:42
744
原创 聚合函数和分组过滤group by
聚合函数 select count (字段)from 表 select count (*) from student 计数 select sum(字段)from student 求和 select Ave(字段)from student 平均数 select max(字段)from student最大值 select min(字段)from student最小值 group by select subjectName,AVG(studentResult)as平均分,MAX(studentRe
2021-11-16 21:11:16
197
原创 MySQL函数
MySQL :: MySQL 5.7 Reference Manual :: 12.1 Built-In Function and Operator Referencehttps://dev.mysql.com/doc/refman/5.7/en/built-in-function-reference.html官网 select ABS(-7) 绝对值 select CEILING(7.3)向上取整 select FLOOR(3.4)向下取整 select RAND()获得一个0-1的随机数 se
2021-11-16 16:59:39
442
原创 分页 limit 和 排序 order by
select `studentName` ,`studentNo`,`studentresult` from student order by`studentresult`asc(默认为升序)desc降序 limit a,b 公式 limit 起始值a,页面的大小b
2021-11-16 11:57:53
184
原创 自连接及联表查询
select a.categoryName as '父栏目',b.categoryName as '子栏目' from`category`as a,`category`as b where a.categoryid=b.pid
2021-11-16 11:16:48
266
原创 联表查询join on
在大多数情况下,我们的查询不仅仅涉及一个表,而是多个表的信息进行联表查询。 分为以下三种情况: 1 表A inner join 表B on A.列名=B.列名 两个表中的符合条件的所有匹配都连接 2 表A left join 表B on A.列名=B.列名 两个表中以表A为基准,进行链接 3 表A rightjoin 表B on A.列名=B.列名 两个表中以表B为基准,进行链接 注意:如果两个表中有同名的数据列,则对他们进行重命名 例如: SELECT A.LastName,A.F.
2021-11-15 16:31:19
537
原创 模糊查询(运算符)
运算符 is null 为空为真 is not null 如果不为空为真 between A and B 在A和B之间为真 like 匹配为真 _为一个模糊字符 %为0到任意个字符 in( a1,a2...) 在集合中为真
2021-11-15 16:06:15
725
原创 select语句+where约束
select 字段名,字段名.../*(all)from表名 select 字段名as新的字段名,字段名as新的字段名.../*(all)from表名as 新的表名 concat函数 select concat('自定义文案',字段名)as 新字段名from 表名
2021-11-15 11:37:27
535
原创 对数据库中的数据进行操作
插入语句insert insert into`表名`(字段1,字段2,字段3...)可以不写字段名但是要一一对应 values(值1,值2,值3...),(值1,值2,值3...) 一一对应;
2021-11-14 17:38:21
344
原创 数据库的外键
定义在创建表的时候 CREATE TABLE `studentgrade`( `gradeid` INT(4) NOT NULL COMMENT '年级', `gradename` VARCHAR(4) NOT NULL COMMENT '年级名字', PRIMARY KEY (`gradeid`) )ENGINE=INNODB DEFAULT CHARSET=utf8 CREATE TABLE IF NOT EXISTS `student` ( `id` INT(8) NOT NULL...
2021-11-14 16:43:44
510
原创 修改alter和删除数据表字段
ALTER TABLE `student`RENAME AS`student1` 修改表名 ALTER TABLE `student1`ADD grade INT(2) 增加表的字段 ALTER TABLE `student1`MODIFY grade INT (4) 修改字段的约束 ALTER TABLE `student1`CHANGE grade grade1 INT(4) 修改字段的名字 ALTER TABLE `student1`DROP grade1 删除表的字段 DROP TAB
2021-11-13 11:16:54
1044
原创 关于数据库的基本语句
CREATE DATABASE `westos`;创建名为westos的数据库; DROP DATABASE `westos`;删除名为westos的数据库; USE `westos`;使用名为westos的数据库 SHOW DATABASES; 查看所有的数据库 数据库的列类型 数值 tinyint 十分小的数据 1个字节 smallint 较小的数据 2个字节 mediumint 中等的数据 3个字节 int 标准的整数 4个字节 big 较大的数据 8个字...
2021-11-12 18:00:03
302
原创 连接数据库
show databases;查看数据库 use school打开school数据库 show tables;查看所在数据库的表 desc student 查看表 create database 数据库名字; 新建一个数据库
2021-11-11 11:12:03
252
原创 安装MYSQL详细说明
MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ 1下载地址,在官网下载压缩版,并进行解压 2配置环境变量 在path中添加解压文件夹中的bin的地址 3新建MySQL配置文件 ...
2021-11-10 17:13:50
296
原创 jQuery操作DOM元素
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script> </head> <body> <ul id="u1.
2021-11-09 16:01:51
434
原创 jQuery
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script> </head> <body> </body>.
2021-11-08 21:53:28
251
原创 表单提交以及加密问题
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="post"> <p> <span>用户名</span><input type="text"...
2021-11-08 17:36:18
930
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅