自定义博客皮肤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-generator插件自定义功能

给mybatis-generator插件自定义功能1. 创建maven项目2. Install项目3. 添加依赖1. 创建maven项目由于使用的是maven的mybatis-generator插件, 所以要给它自定义功能的话也需要创建为maven项目, 其实本质上是让mybatis-generator插件去依赖我们写好的maven项目并打包为jar文件的包,在mybatis的官网中也有一些已经实现好的插件供开发者使用, 并作为参考创建自己的一些插件。创建maven项目就不再详述,在main/java文

2020-09-18 15:53:50 808

原创 使用mybatis-generator

使用mybatis-generator1. 添加依赖2. 配置xml文件3. 生成po, mapper1. 添加依赖在pom.xml文件中build标签下添加一个pulgins标签, 在pulgins标签下添加pulgin标签引入mybatis—generator插件<plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis

2020-09-04 16:43:32 367

原创 使用vscode搭建javaweb项目

使用vscode搭建javaweb项目工具准备创建web项目运行项目工具准备jdk, maven, tomcat9, vscode;上述软件的安装配置在百度就能找到很多教程, 所以此处不详述.(jdk使用1.8以上版本的就行, tomcat的话最好用9, 10的话由于httpservlet类的包名修改了所以会出现一些不兼容的错误导致运行失败,剩下两个使用哪个版本都可以).由于vscode不能直接创建javaweb项目, 所以使用maven的webapp项目;vscode需要下载的插件如图:下

2020-08-09 20:36:01 29725 23

原创 读取系统磁盘显示

读取系统磁盘显示Dialoge.cpp例子

2020-05-18 19:08:17 187

原创 电子钟

电子钟//实力

2020-05-08 15:58:24 235

原创 一个简单自定义动画控件

今天在Qt给大家实现一个简单的自定义动画控件, 在Qt中可以通过继承的手段去实现自定义的动画控件, 如图为一个继承QLabel的类, 通过Q_Property宏来规定继承后的类可通过动画修改的属性,图中类使QLabel实现颜色的改变在cpp文件中, 我们实现它的getColor和setColor方法, 并通过鼠标移入移出事件来改变QLabel的背景颜色以及字体颜色, 如图最后实现效果如图...

2020-04-27 22:49:31 191

原创 图书类设计

今天, 给大家分享一下如何设计图书类, 如图为图书类代码如图为图书类, 它具有自己的一些属性, 并且有两个分别为计算收益和获得图书类型的纯虚函数, 也就是说图书类被设计为用于被继承的抽象类下图为两种图书类型的枚举, 分别为借阅类和销售类下图为继承于图书类的借阅类图书类代码下图为继承于图书类的销售类图书类代码...

2019-08-17 20:07:06 330

原创 图书管理类设计

今天给大家分享一下图书管理类的设计, 如图为代码如图, 该类负责界面切换合各界面功能的实现, 它使用了单例模式, 以实现整个系统仅使用一个类对象, 且有一个静态的图书容器用于存放图书数据, 并实现了对金额和收益的存储.如图为对图书数据存放的文件进行读取数据, 以二进制方式,如图为文件内部分图书数据...

2019-08-17 20:05:10 216

原创 图书导出

今天, 给大家分享一下如何导出图书, 如图为导出代码如图提示用户输入2进入导出界面, 输入2后提示用户输入要导出的文件名, 导出结束后提示用户导出成功下图为导出调用的函数代码...

2019-08-07 17:05:09 437

原创 图书导入

今天给大家分享一下 如何导入图书, 如图为代码如图, 提示用户输入1进行导入, 用户输入1后提示用户输入要导入的文件路径, 对文件进行文本形式读取, 并将系统原有的图书数据进行覆盖, 此时 判断是否有数据存在, 如有则提示用户导入成功, 否则提示用户导入失败, 下图为调用的读取文件函数部分的文本形式读入...

2019-08-07 17:01:05 315

原创 统计

今天, 给大家分享一下如何统计图书, 如图为统计代码该处使用了STL库中的累加算法, 写法为Lambda表达式, 即可以通过一个简单的语句实现一个统计,算法执行完后提示用户输入, 1为显示现存图书数量, 2为新增图书数量, 3为借出图书数量, 4为售出图书数量.在新买入的图书数量显示实现时, 我通过计算得到容器内的图书库存, 再得到文件中的图书库存, 将它们相减得到一个库存差再加上本次购入图...

2019-07-26 10:05:10 99

原创 查询部分图书

今天给大家分享一下 如何查询图书, 如图为代码 如图, 查询部分图书与上一篇中查询全部图书对接, 输入1则进入查询全部图书界面, 输入2则进入查询部分图书界面, 并加入一个bool变量用于跳出页面直接到主页面, 然后提示用户要查询的书名或编号, 此处调用之前进货售出借阅都使用过的查找方法, 查找到后就放入一个容器内, 然后调用一个处理输出流的函数将容器内的数据显示出来, 如图为处理输出流的函...

2019-07-26 10:03:07 128

原创 查询全部图书

今天给大家分享一下 如何查询图书, 如图为代码如图, 一个查询操作它首先提示输入, 若用户输入1则进入查询全部图书页面, 并加入一个bool变量用于跳出页面直接到主页面, 然后提示用户要选择的排序方式, 此处使用STL标准库中的排序算法, 写法为Lambda表达式, 通过该算法实现排序后, 调用一个处理输出流的函数将容器内的数据显示出来, 如图为处理输出流的函数...

2019-07-17 14:51:36 747

原创 借阅

今天, 给大家分享一下如何借阅图书, 如图为借阅代码首先提示用户输入售出的图书编号或书名, 调用上篇进货所用到的查找方法, 若查找到则判断是否 为借阅类图书, 如不为销售类图书则提示用户该书不能借阅并重新输入, 为借阅类图书的话则判断是否有库存, 如库存无图书则提示库存不足并让用户重新输入, 然后提示用户 输入要借阅的天数, 若输入数量为0则让用户重新输入, 成功输入后调用一个方法处理后续操作...

2019-07-17 14:49:42 195

原创 售出

今天, 给大家分享一下如何售出图书, 如图为售出代码首先提示用户输入售出的图书编号或书名, 调用上篇进货所用到的查找方法, 若查找到则判断是否为销售类图书, 如不为销售类图书则提示用户该书不能销售并重新输入, 为销售类图书的话则提示用户输入要售出的数量, 若输入数量大于该书库存则提示库存不足并让用户重新输入, 成功售出后调用一个方法处理后续操作, 并提示用户售出成功, 如图为调用的后续操作方法...

2019-07-07 14:54:21 140

原创 进库

今天给大家分享一下 如何进库, 如图为代码如图, 一个进库操作它首先提示输入, 并提示拥有的资金, 通过获取输入值对已有图书进行遍历, 找到要进货的图书后, 提示其进货价格, 并提示输入进货数量, 当进货需要的金额大于现有资金时, 则清空输入使其重新输入进货数量, 都输入无误后则更新要进货的图书库存, 并更新现有资金, 提示进货成功后跳出, 如图为根据图书编号或书名查找图书的方法...

2019-07-07 14:40:00 292

原创 C++文件读写

使用c++的io对象, 可以实现对文件的读写, 读写分两种形式, 一种为文本形式读写, 一种为二进制读写, 文本读写时, 文件输入输出都以文本编码, 二进制读写时, 文件输入输出都以二进制编码.文本输入输出时, 一般使用重载后的操作符”<<”和”>>”, 二进制输入输出时, 一般使用write, read函数, 如图为实现一个文本形式的读入通过一个while循环读取文...

2019-06-27 20:16:43 110

原创 Makefile对文件分类打包

通过Makefile可以实现一次性编译多个cpp以及h文件, 相应的, 只需略加处理, 则可将编译好的.o文件存放到指定文件夹内.如图, 为一个简单的Makefile它对三个cpp文件进行编译, 分别是main.cpp, BookManger.cpp, Books.cpp, 在这个Makefile中, 首先声明了一个变量obj赋值为编译后的.o文件, 一个main目标, 依赖于变量obj, ...

2019-06-27 20:14:20 1101

原创 图书管理系统--新增图书

如图为新增图书的方法参数i用于判断用户是想新增的图书类型, 中间在用户输入书名时对容器遍历判断是否存在, 并在用户新增销售类图书时判断销售价格是否大于进货价格, 如不大于则让用户重新输入, 以上输入都无问题后才创建用户想新增的相应图书类型的对象, 并将其添加到书籍容器中, 此处数据还没有保存到文件中....

2019-06-17 08:09:56 1281

原创 图书管理系统--读取文件数据

实现一个简单的图书管理系统, 其数据保存在一个二进制文件中, 那么当要获取到所有的图书信息时, 就得对文件实行读取操作, 并且将其保存于一个容器内, 以方便之后对数据的操作, 具体实现如图在这个方法中, 首先声明了一个ifstream的对象in用于读取文件, 然后声明了图书编号, 库存, 书名等变量, 然后用一个while循环读取文件并保存到变量中, 在循环内部判断图书类型分别创建对象并保存...

2019-06-17 08:02:56 2223

原创 图书管理系统--读取文件数据

实现一个简单的图书管理系统, 其数据保存在一个二进制文件中, 那么当要获取到所有的图书信息时, 就得对文件实行读取操作, 并且将其保存于一个容器内, 以方便之后对数据的操作, 具体实现如图在这个方法中, 首先声明了一个ifstream的对象in用于读取文件, 然后声明了图书编号, 库存, 书名等变量, 然后用一个while循环读取文件并保存到变量中, 在循环内部判断图书类型分别创建对象并保存...

2019-06-17 08:02:56 898

原创 Makefile简单使用

大部分集成的IDE都实现了自己的make命令, 如我们常用的visual studio, 只不过visual studio已经帮助我们完成了make命令而已, 那么makefile到底是什么呢, 就我理解的来看, makefile其实相当于编译命令的集合, 只需一个make命令即可编译项目内所有文件, 日常我们使用visual studio可能没这种感觉, 通常都是ctrl + f5之后visua...

2019-06-09 11:42:20 101

原创 Partial_sort_copy算法

在C++的标准STL库中, 提供了容器与许多对容器操作的算法, 以及一些其他的东西, 因为不再本文献范畴内则不举例, 通过STL库中已经封装好的容器操作算法,我们可以省去很多要去实现一个容器操作的代码, 要应用STL中的算法, 首先需要引入算法头文件, 如图引入该头文件和我们需要的容器头文件, 就可以通过调用方法的方式实现一些对容器的操作了, 例如拷贝, 旋转, 插入, 排序等等. 该篇主要讲...

2019-06-09 11:40:17 217

原创 Generate_n算法

在C++的标准STL库中, 提供了容器与许多对容器操作的算法, 以及一些其他的东西, 因为不再本文献范畴内则不举例, 通过STL库中已经封装好的容器操作算法,我们可以省去很多要去实现一个容器操作的代码, 要应用STL中的算法, 首先需要引入算法头文件, 如图引入该头文件和我们需要的容器头文件, 就可以通过调用方法的方式实现一些对容器的操作了, 例如拷贝, 旋转, 插入, 排序等等, 该篇主要讲...

2019-06-09 11:38:13 529

原创 C++中IO流的简单使用

在C++中, 有封装好的IO流类以供使用, 利用IO流类可以实现对文件的读写以及输入输出, 如图, 要使用IO流类首先要包含头文件其中iostream用于输入输出,fstream用于对文件的操作, 比较常用的如cout, cin都是iostream中的对象, 用于实现控制台输入输出. fstream中提供了ifstream类用于读文件, ofstream类用于写文件, 还有fstream用于读...

2019-05-27 10:01:59 411 1

原创 实现一个简单等边多边形类

作为一种面向对象高级语言, 利用C++可以实现一些生活中常见的类, 如图实现了一个等边多边形类, 它包含了一部分等边多边形应有的方法.其中Polygon为多边形类, 它包含一个两个参的构造函数用于对边长与边数进行初始化, 一个用来显示周长的方法showC, 和一个显示面积的方法showArea, 其中显示面积的方法作为纯虚函数, 因此多边形类实际作为抽象类使用. Square为正方形类, Tr...

2019-05-27 09:54:59 1378

原创 C++中的上溯造型体现

在所有面向对象语言中, 都隐含了上溯造型这一概念, 那么什么是上溯造型, 如声明一个基类A, 再声明一个类B继承于A, 声明一个函数, 使其参数为A类型, 那么即使我们在函数调用时传入B类型的对象, 也是可以被编译器通过的, 这其中就隐含了上溯造型这一概念. 上溯造型肯定是安全的,因为我们是从一个更特殊的类型到一个更常规的类型。换言之,衍生类是基础类的一个超集。它可以包含比基础类更多的方法,但它至...

2019-05-16 19:51:28 273

原创 C++中的操作符重载

在C++的类中, 我们可以对操作符重载, 何为操作符重载, 顾名思义, 即重写操作符的方法. 如, 在编译器中, 我们可以对两个整型进行加减乘除的运算, 但如果对两个类的对象进行加减乘除, 则会报错, 通过操作符重载, 我们可以实现对类对象的加减乘除以及其他各种操作, 最典型的如输入输出.如图为一个复数类.在它的声明部分, 有一个带两个参的构造函数, 以及对加减乘除的操作符重载, 以及前置后...

2019-05-16 19:49:22 264

原创 字符数组与字符串

字符数组是 C++语言较常用的数组类型, 字符数组与字符串在本质上差异不大, 只是在用法与意义上有所不同, 如图定义一个字符串与字符数组也可以将一个字符串常量直接赋值给一个字符数组, 如图虽然字符串hello的长度不足10, 但编译器是可以通过此条语句的, 编译器会根据字符数组长度自动补’\0’, 且此处字符串hello虽然只包含5个字符, 但其长度为6, 编译器会对一个字符串后自动添加’...

2019-05-08 16:53:20 279

原创 动态生成螺旋数组

利用二维数组, 实现一个如图的5x5螺旋数组并不难, 利用一个多层循环的嵌套即可, 根据这种生成5x5的螺旋数组原理, 实际上可以衍生出一个动态生成螺旋数组的方法.首先, 提示用户输入想生成的螺旋数组大小其次, 声明7个变量, 与一个动态二级指针和一个一级指针此处之所以不用指针数组而用二级指针的原因是指针数组不能被动态定义, 必须以{}形式初始化, 而二级指针实际上与指针数组的操作方...

2019-05-08 16:50:08 430

原创 宏定义的一些用法

C及C++通过预处理器提供了一些语言功能, 最常用的有#include指令, 用于包含头文件, 其他如#define及宏定义, 也被称为宏替换, 当编译器编译到带宏定义的语句时, 会直接替换为定义语句.例如, 假如我定义有#define MAXLENGTH 100, 那么, 在编译器编译到所有MAXLENGTH时则会自动替换为100.宏定义的形式如下:#define 定义名 替换文本比较简单...

2019-05-08 16:47:09 1537

原创 C++外部变量定义与使用

不同于Java与C#, C++的变量与函数不一定存在于类中. 在C++中, 定义于函数外的变量称为外部变量, 函数内的变量称为局部变量, 也叫自动变量. 外部变量只能被定义一次, 而且在函数内对外部变量的引用必须进行声明, 可用extern语句进行显示声明, 也可以上下文隐式声明, 假如在函数内定义了与外部变量名称相同的变量, 则不会使用外部变量, 而是以当前定义变量使用.如图在main函数...

2019-04-26 19:54:49 12007

原创 for, while, do-while

在当前流行的所有编程语言中, 几乎都实现了for, while, do-while三种循环.对于这三种循环, 其本质意义是差不多的, 当然, 对于用for实现的一个循环语句, 我们也可以写成while, do-while的形式, 反之也是如此, 三种循环除去do-while更特殊一点, 其他两种实际上差距不大, 当然还是有细微差距的.for循环包含三个表达式, 如图第一个表达式为初始化表达式...

2019-04-26 19:46:11 106

原创 二进制与八, 十六进制的转换技巧

涉及到内存, 我们都知道计算机cpu进行储存运算的都是以二进制.在C++中, 指针类型作为一种指向内存地址的类型, 在32位系统中, 它的计算范围是0x0000 0000 – 0xFFFF FFFF, 也就是说, 在32位系统中指针类型的长度实际上是4个字节(32/8=4).那么, 0xFFFF FFFF转换为二进制该如何转换呢, 实际上非常简单, 对于八进制, 十六进制转换为二进制, 我们只需要...

2019-04-18 09:07:57 1055

原创 C++在函数调用时实参求值顺序探讨

在C++中, 函数调用时实参的求值顺序并没有被规定, 也就是说不同编译器下, 产生的运算结果可能不同, 此处以VS为开发工具, 仅探讨在VS中C++在函数调用时对实参求值顺序的一个处理流程.首先如图定义了一个newtest函数用来输出main函数传递过来的值, 接受参数为三个, 在main函数中定义了i, j两个变量并初始化为1, 首先我们只用到i, 依次传递给newtest函数++i, i,...

2019-04-18 08:56:33 2013 2

原创 选择所有字段*的一个注意点

在写select语句时, 我们常常会用到select * from tab这种句式, 号代表所有字段, 使用起来是极其方便的.然而, 许多sql实现都把看作是选择列表的另一个元素, 如下可能在大多商用数据库软件中它是合法的, 但实际上它并不符合sql的一个语句规范, 当然执行这条语句是肯定会报错的, 因为已经代表全部字段, 此时在select列表中添加(salarycommission_pct...

2019-04-08 08:48:24 433

原创 空值的运算特点

在进行数据库查询即字段之间统计计算时, 不可避免的要涉及到空值的计算, 空值被查询出来就如下图所示一般没有任何值, 注意, 虽然它没有任何值但不代表它等于0, 实际上, 空值的特性跟0十分相似.如图该sql语句中, 将salary字段乘以commission_pct字段, 我们可以看到, 当salary有值, commission_pct为空值时, 它们相乘的结果仍然是空值, 同样, 相除...

2019-04-08 08:46:09 970

原创 使用Linq语句时一个常见错误

在MVC项目开发过程中,Linq语句以及Lambda表达式都是我们常用跟数据库联系的手段. 而在使用Linq和Lambda表达式时, 不可避免的会出现一些小问题.首先, Linq语句的语法跟sql语句是非常相似的, 一些在sql, Linq都有用到的关键字如, from, select, order by等等. 在使用Linq对数据库进行查询时我们需要注意的是, 很多在C#中有的方法, 如ToS...

2019-02-23 15:10:23 599

原创 JavaScript逻辑运算符巧妙运用(补充)

上一篇中, 我对”&amp;&amp;”的一些使用技巧进行了探讨, 这一篇我补充上另外一个逻辑运算符的使用即内涵.“||”运算符, 一般也常使用于if语句中, 它对其双方表达式进行判断, 只要其中一个表达式值为真, 则返回真, 且必须皆为假值时才返回假.若其左表达式为真, 则不对右式进行计算直接返回左值.如图这里我先声明了三个变量a, b, c,其中a, c皆为真值, b为假值, 如图所示,...

2019-02-23 09:33:23 302

原创 JavaScript逻辑运算符的巧妙运用

对于”&amp;&amp;”运算符, 我们应该都不陌生, 它一般被常用于if语句的判断中, 我们都知道, 只有当其两旁表达式皆为真时, 它才返回真. 实际上, “&amp;&amp;”运算符会先计算左方表达式的值, 如果为假, 则返回假而不计算右边的表达式. 反过来讲, 如果左方表达式值为真, 那么整个语句的值则依赖于右方表达式. 如图当a = 1, b = undefined时(undefi...

2019-02-23 09:05:55 223

空空如也

空空如也

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

TA关注的人

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