自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mybatis所用的模式和缓存

Mybatis的一级缓存和二级缓存一.设计模式分析InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml"); //2.创建SqlSessionFactory工厂 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();//创建工厂mybatis使用了构建者模式 SqlSessionFactory fa

2020-11-21 20:39:06 296 1

原创 数据库连接池

数据库连接池1.数据库连接池基本概述1.1概念1.2好处1.3实现2.C3P02.1使用步骤1.数据库连接池基本概述1.1概念其实就是一个容器(集合),存放数据库连接的容器。当系统初始化以后偶,容器被创建,容器中会申请连接对象,当用户访问数据库时,从容器中连接对象,用户访问完之后,会将连接对象归还给容器。1.2好处1.节约资源2.高效1.3实现1.标准接口:DataSource javax.sql包下的。方法:getConnnection()归还连接:Connection.close()

2020-07-08 21:46:38 284

原创 JDBC控制事务

1.事务:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。2.操作:开启事务:start transaction;回滚:rollback;提交:commit;3.使用Connection来管理事务开启事务:void setAutoCommit(boolean autoCommit) :调用该方法设置参数为false,即开启事务。提交事务:void commit()回滚事务:void rollback()package com.wcy.demo1.jdbc

2020-07-07 21:48:18 250

原创 JDBC事务管理

接着上面一篇文章讲,你们觉得代码写的好吗???上面那个练习其实写的垃圾!!!假如你的代码放到网站上去了,我们来玩一玩,试试看,我先随便输入个账号,再输入个密码,也能登陆成功!!!以上操作是不是很危险???那么这个问题称为SQL注入问题1.输入用户名随便,输入密码:a’ or ‘a’='a2.sql:select * from user where username='wedwedewd’and password=‘a’ or ‘a’='a’当我们把上面sql语句执行查询的时候会发现,它会查出所

2020-07-07 21:13:55 161

原创 JDBC登录练习

需求:1.通过键盘输入用户名和密码2.判断用户是否登录成功步骤:1.创建数据库表user2.创建一个类1.首先写好工具类:JDBCUtilspackage JDBCUtils;import java.io.IOException;import java.io.InputStream;import java.sql.*;import java.util.Properties;/** * JDBC工具类 */public class JDBCUtils { privat

2020-07-06 21:09:32 153

原创 JDBC

JDBC1.JDBC基本概念2.快速入门3.详解各个对象3.1 DriverManager:驱动管理对象3.2 Connection:数据库连接对象3.3 Statement:执行SQL的对象3.4 ResultSet:结果集对象3.5 PreparedStatement:执行SQL的对象4.JDBC工具类:JDBCUtils4.1目的1.JDBC基本概念概念:Java DataBase Connectivity Java 数据库连接,Java语言操作数据库。JDBC本质:其实是官方(sun)定义的

2020-07-05 21:53:46 245

原创 MySQL事务

1.事务的基本介绍1.1概念如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。例如:张三给李四转账500元1.查询张三账户余额是否大于500;2.张三账户 金额-5003.李四账户 金额+500假如在上述过程中,这些步骤没有被事务管理,如果在第二步出现异常,张三的账户减少500元,而李四的账户并没有加500元,那么这500元也就不翼而飞,这时候就出现了很严重的问题。而如上述步骤被事务所管理,那么这三个操作就变成了一个整体,即这些操作要么都成功,要么都失败。这时

2020-07-04 16:10:56 247

原创 MySQL多表查询

1.内连接查询1.隐式内连接:使用where条件消除无用的数据2.显示内连接2.外连接查询1.左外连接语法:select 字段列表 from 表1 left [outer] join 表2 on 条件查询的是左表所有数据以及其交集部分。2.右外连接select 字段列表 from 表1 right [outer] join 表2 on 条件语法:查询的是右表所有数据以及其交集部分。语法:3.子查询概念:查询中嵌套查询,称嵌套的查询为子查询。...

2020-07-04 14:33:01 123

原创 数据库的备份与还原

1.命令行备份语法:mysqldump -u用户名 -p密码 数据库的名称 > 保存的路径还原语法:1.登录数据库2.创建数据库3.使用数据库4.执行文件:source 文件路径2.图形化备份:右键–>备份导出–>备份数据库.转储到SQL–>选择保存的路径还原:执行SQL脚本–>找到保存的SQL–>完成刷新即可...

2020-07-04 12:47:03 192

原创 数据库的设计及其三大范式

1.多表之间的关系1.1一对一如:人和身份证分析:一个人只有一个身份证,一个身份证只能对应一个人1.2一对多如:部门和员工分析:一个部门对应多个员工,一个员工只能对应一个部门1.3多对多如:学生和课程分析:一个学生可以选择很多课程,一个课程也可以被很多学生选择。1.4实现关系1.1:一对多(多对一):如:部门和员工实现方式:在多的一方建立外键,指向一的一方的主键。1.2:多对多如:学生和课程实现方式:多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,这两个字段作为

2020-07-04 12:36:31 266

原创 SQL基础

SQL解释结构化查询语言。定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,简称“方言”。SQL的通用语法1.SQL语句可以单行或多行书写,以分号结尾2.可以使用空格和缩进来增强语句的可读性。3.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。MySQL有3种注释:1.单行注释:--(空格)注释内容#注释内容(mysql 特有)2.多行注释:/*注释*/SQL分类1.DDL:数据库定义语言,用来定义数据库对象:数据库,表,列等。.

2020-07-04 00:13:17 166

原创 Java注解

1.什么是注解?首先什么是注释?注释:用文字描述程序的。给程序员看的注解:说明程序的。给计算机看的概念描述:1.JDK1.5之后的新特性 2.说明程序的 3.使用注解:@注解名称2.作用分类①编写文档②代码分析③编译检查3.JDK中预定义的一些注解1.@Override:检测被该注解标注的方法是否继承自父类(接口)的。2.@Deprecated:将该注解标注的内容,已过时。3.@SuppressWarnings:抑制编译器警告的。一般传递参数all。用...

2020-06-29 22:24:11 193

原创 反射的实质性作用

半成品框架需求:写一个“框架”,不能改变该类的任何代码的前提下,可以帮我们创建任意类对象,并且执行其中任意方法。实现:1.配置文件2.反射步骤:1.将需要创建的对象的全类名和需要执行的方法定义在配置文件中。2.在程序中加载读取配置文件3.使用反射技术加载类文件进内存4.创建对象5.执行方法1.创建Person对象package reflect;public class Person { private String name; private int age

2020-06-28 21:16:07 171

原创 Junit单元测试与反射

1.Junit单元测试测试分类:1.黑盒测试:不需要写代码,看不到程序执行的过程,输入一些参数,是否能看到预期的结果。2.白盒测试:需要写代码,可以看到程序执行的过程,输入一些参数,是否能看到预期的结果。Junit使用:白盒测试首先看一个例子:package com.wcy.demo1.Junit;/* 计算器类 */public class Calculator { /** * 加法 * @param a * @param b *

2020-06-27 14:57:06 320

原创 两种获取Stream流的方式

java.util.stream.Stream是jdk8加入的最常用的流接口。1.所有的Collecton集合都可以通过stream默认读取流2.stream的接口的静态方法of可以获取相对应的流package com.wcy.demo1.Stream;import java.util.*;import java.util.stream.Stream;public class demo2Stream { public static void main(String[] args)

2020-06-26 17:18:16 835

原创 Stream流

流式思想概述1.当需要对多个元素进行操作(特别是多步操作)的时候,考虑到性能及便利性,我们应该首先拼好一个“模型”步骤方案,然后再按照方案去执行它。备注:“Stream流”其实是一个集合元素的函数模型,它并不是集合,也不是数据结构,其本身并不存储任何元素(或其地址值)。Stream(流)是一个来自数据源的元素队列元素是特定类型的对象,形成一个队列。Java中的Stream并不会存储元素,而是按需计算。数据源 流的来源,可以是集合,数组等,和以前的Collection操作不同。Stream操作还有两个

2020-06-26 16:55:01 200

原创 常用函数式接口

主要的函数接口都放在java.util.function中。那么介绍一下常见的函数式接口。Supplier接口1.认识Supplier接口java.util.function.Supplier<T>接口中包含了一个无参的方法:T get()。Supplier接口被称之为生产型接口,指定接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据。package com.wcy.demo4.Supplier;import java.util.function.Supp

2020-06-26 14:11:32 247

原创 使用Lambda作为参数和返回值

1.使用Lambda作为参数java.lang.Runnable就是接口就是一个函数式接口,假设有一个startThread方法使用该接口作为参数,那么就可以使用Lambda进行传参,这种情况其实和Thread类的构造方法参数Runnable没有根本区别。package com.wcy.demo3.LambdaTest;/* 例如java.lang.Runnable就是接口就是一个函数式接口, */public class demo1Runnable { //定义一个方法star

2020-06-26 13:02:55 3374

原创 函数式编程

Lambda的延迟执行注:日志可以帮助我们快速定位问题,记录运行过程中的情况,以便项目的监控和优化。认识函数式接口(定义)package com.wcy.demo1.functioninterface;/* 函数接口:有且只有一个抽象方法的接口 */@FunctionalInterfacepublic interface MyFunctioninterface { //定义一个抽象方法 public abstract void method();}packag

2020-06-25 22:40:30 150

原创 TCP通信的代码实现

TCP通信的客户端:向服务器发送连接请求,给服务器发送数据,读取服务器回写的数据表示客户端的类java.net.Socket:此类实现客户端套接字。套接字是两台机器通信的端点。套接字:包含了IP地址和端口号的网络单位。构造方法Socket(String host,int port)创建一个套接字并将其连接到指定主机上的制定端口号;参数:host:服务器主机的名称/服务器的IP地址port:服务器的端口号成员方法OutputStream.getOutputStream();返回套接字的输出

2020-06-25 17:30:56 1168

原创 TCP通信程序

通信的步骤1.服务器端先启动2.服务器端不会主动的请求客户端3.必须使用客户端请求服务器端4.客户端和服务器端就会建立一个逻辑连接5.这个连接中包含一个对象6.这个对象就是IO对象7.客户端和服务器端酒可以使用IO对象进行通信,通信的数据不仅仅是字符,所以IO对象是字节流对象。客户端和服务器端进行一次数据交互,需要4个IO流对象服务器端必须明白两件事情:1.多个客户端可以同时和服务器进行交互,服务器必须明确和哪个客户端进行的交互,在服务器端有一个方法,叫accept客户端获取到请求的客户

2020-06-25 16:20:09 244

原创 网络编程的三要素

1.协议所谓协议,就是要遵守规则。上篇文章已经说过,这里不再赘述。2.IP地址IP地址:指互联网协议地址。唯一的编号,例如把个人电脑比作一台电话的话,那么IP地址就是电话号码。分类:IPV4:4指的是4个字节,一个字节8个二进制,那么四个字节就是32进制,通常表示为a,b,c,d的形式,例如:192.168.65.100。其中a,b,c,d都是0-255的十进制整数,那么最多可以表示42亿个。IPV6:6指的是16个字节,而不是6个字节。那么16个字节就是128位地址长度了。表示成:ABCD:E

2020-06-25 15:56:51 378

原创 协议分类

网络通讯协议分类UDP协议:用户数据报协议,面向无连接的协议。1发2,不用连接。特点:耗资小,通讯效率高,偶尔会丢失数据,当传输重要数据时,不建议使用UDP协议,例如飞秋,QQ的聊天功能都使用的是UDP协议,然而数据却被限制在64kb以内。TCP协议:传输控制协议,面向连接的通讯协议。先连接再发数据,由客户端向服务器发送请求,每次连接的创建都需要经过三次握手。第一次握手:客户端向服务器端发出连接请求,等待服务器确认。第二次握手:服务器端向客户端回送一个响应,通知客户端收到了连接请求。第三次握手:

2020-06-25 15:11:41 535

原创 ArrayList基础2

如果希望集合ArrayList当中存储基本类型数据,必须使用基本类型对应的包装类基本类型 包装类(应用类型。包装类都位于java.lang包下)byte Byteshort Shortint Integer 记住这个float Floatdouble Doublechar Character 这个boolean...

2020-04-24 15:14:01 132

原创 ArrayList基础

ArrayList常用方法:1.public boolean add(E e);向集合当中添加元素,参数的类型和泛型一致,返回值是否添加成功。备注:对于ArrayList而言,add的添加动作一定是成功的,所以返回值可用可以不用2.public E get(int index);从集合中获取元素,参数是索引编号,返回值就是对应的位置元素3.public E remove(int index...

2020-04-23 21:37:58 151

转载 Linux常用命令

1、ls命令就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列 ls -t 以文件修改时间排序 ls -S...

2020-04-18 15:21:10 213

原创 应用层协议:Telnet

应用层协议:TelnetTelnet协议(远程登录 Telecommunication Network)是Internet远程登录服务的标准协议和主要方式。远程登录可以让用户在一台入网的计算机使用Telnet程序通过网络与远程的一台计算机即服务器相连,如同是那台计算机的终端一样。一旦连接成功,终端使用者可以在Telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样...

2020-03-16 15:36:13 1254

原创 应用层协议:FTP

应用层协议:FTPFTP协议是什么?1.FTP协议(文件传输协议File Transfer Protocol)。也就是将文件从一台主机传输到另一台主机的应用协议。同大多数Internet服务一样,FTP也是一个客户/服务器系统,即FTP协议包括两个重要的组成部分,FTP服务器和FTP客户端。FTP服务器用于存储和传送文件,用户使用FTP客户端通过FTP协议与服务器传送文件或访问位于服务器上的资...

2020-03-16 15:18:09 696

原创 TCP/IP网络协议

TCP/IP网络协议1.目前广泛商用的体系结构是TCP/IP协议。TCP/IP是Kahn在1974年就已经定义的参考模型,80年代Leiner、Clark等人对其进行了进一步的研究。目前为止TCP/IP一共出现了6个版本,即版本1、2、3、4、5、6,目前我们广泛使用的是版本4,即IPv4。相信大家也一定听说过IPv6,这就是TCP/IP协议的版本6,它也被称为下一代的IP协议。他们的区别就在...

2020-03-16 14:56:43 779

原创 OSI中数据的传输

OSI中数据的传输1.应用层,用户面对各种各样的应用,产生各种网络数据,比如可以进行发送邮件等等的工作,那么它产生的数据有文本数据等很多的数据,那么现在假设这个数据是你要给朋友发送的礼物。2.表示层,假设你发送礼物给朋友,首先你要打包这个礼物,所以应用层开始后需要一系列的打包工作,然后这个数据就会变成数据单元,就到了表示层。3.然后工作员需要填写快递单,这时候就进入了会话层。4.这接着就到...

2020-03-16 14:46:56 933

原创 OSI网络体系结构

OSI网络体系结构osi是什么?两种体系结构七大层次osi是什么?计算机网络是一个非常庞大而又复杂的系统,因此我们需要利用“结构化”的设计方法和“分层”的思想对通信系统进行整体设计,为网络硬件、软件、协议、存取控制和拓扑提供标准。从而产生了网络体系结构。两种体系结构SNA(系统网络体系结构 System Network Architecture)DNA(数字网络体系结构 Digital...

2020-03-16 14:14:20 1103

原创 C语言输出矩阵的主对角线和以及次对角线和

问题描述编写程序,由用户输入一个整数n,然后系统随机生成一个nx n矩阵,输出该矩阵,并分别求出其主对角线元素和次对角线元素之和。例如下面为一个3 x 3的矩阵。2 0 53 1 86 7 9其中: 2、1、9为主对角线上的元素,5、1、6为次对角线上的元素。代码如下:#include<stdio.h>#include<stdlib.h>...

2019-11-20 22:04:43 21247 1

原创 将博客搬至优快云

搬家了

2019-11-20 18:58:30 106 1

原创 单链表的就地逆置问题

算法实现带头结点单链表就地逆置问题代码如下:#include"stdio.h"#include"stdlib.h"typedef struct LNode{ int data; struct LNode *next;} LNode,*LinkList;//创建链表void creatList(LinkList L,int n){ LinkList p,q; p=L;...

2019-11-17 16:33:47 800 1

原创 用java获取本月日历表

用Java获取本月日历表这张日历表应该怎么打印出来?首先,获取本月,获取本天,创建本地日期类对象。 LocalDate date=LocalDate.now(); int month=date.getMonthValue();//获取本月 int today=date.getDayOfMonth();//获取本天 2.创建一个周期对象。 ...

2019-11-16 16:31:07 1167

原创 用Java实现猜数字小游戏

用Java实现猜数字小游戏在现实生活中,你肯定玩过这样一个游戏:同学A向同学B同学发起挑战说: 我们玩一个游戏,我说一个0到100之间的一个数你猜一下这个数是多少?猜大了,我会给你说你猜大了,猜小了,我会提醒你猜小了。谁用的次数最少猜出,谁就赢了,怎么样?如果你要是输了,下午放学请吃辣条哈。我要是输了,下午放学请你吃辣条。B同学一听,可以啊,还有得辣条吃,那感情好,于是应了一句:不许耍...

2019-11-15 22:48:06 1190 4

原创 java二维数组的创建及其应用

java二维数组的创建及其应用问题描述代码如下问题描述统计二维整数数组中,横向或纵向连续3个相邻元素的最大和。输入说明:数组行数m列数n,二维整数数组中元素;输出说明:此数组中横向或纵向连续3个相邻元素的最大和。代码如下/**************************************************//******************************...

2019-11-05 17:01:57 547 2

原创 将字符串插入字符串后输出

题目内容:编写程序,定义函数void insert(chars,chart,int pos)将字符串t插入到字符串s中,插入位置为pos。假设分配给字符串s的空间足够让字符串t插入。解题思路:首先 ,两个字符串,创建两个字符数组char a[100] char b[100]然后就是输入了,我这里用gets函数输入,它在头文件**#include<stdio...

2019-04-27 21:05:18 1560

原创 用顺序表实现学生信息管理系统

用顺序表实现学生信息管理系统问题描述:定义一个包含学生信息(学号,姓名,成绩)的顺序表,使其具有如下功能:(1) 根据指定学生个数,逐个输入学生信息;(2) 逐个显示学生表中所有学生的相关信息;(3) 根据姓名进行查找,返回此学生的学号和成绩;(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);(5) 给定一个学生信息,插入到表中指定的位置;(6) 删除指定位置的学生记...

2019-03-30 15:32:34 26443 9

原创 杨辉三角

队列实现杨辉三角问题描述:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1打印前n项的杨辉三角。#include"stdio.h"#define MAX 50typedef struct{ int element[MAX]; int front;//头指针指示器; int rear;//尾指针指示器; }Du...

2019-03-30 15:23:54 220 2

空空如也

空空如也

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

TA关注的人

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