- 博客(53)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 哇塞,太牛鼻了,还可以写一个数据库管理系统
Part4 我们的第一个测试我们已经能够在在我们的数据库中插入数据和查询所有的数据。让我们花点时间来测试一下!我将使用rspec 来写我们的测试,因为我比较熟悉它,而且语法是公平的。我定义一个短助手来发送一个命令集合给我们的数据库程序,然后使用断言输出:describe 'database' do def run_script(commands) raw_output = nil IO.popen("./db", "r+") do |pipe| commands.ea
2021-03-16 00:06:32 302
原创 内存中的,仅有一个数据库表的数据库
Part3 内存中的,仅有一个数据库表的数据库我们一开始就会对数据库设置很多的限制。现在,他将会:支持两个操作:插入一行数据和打印所有的行数据。保存在内存中(不持久化到磁盘)。支持一个简单的,硬编码的表。我们的硬编码表存放用户并如下表展示的:columntypeidintegerusernamevarchar(30)emailvarchar(255)这是一个简单的架构,但它使我们能够支持多种数据类型和多种数据类型的大小。insert语句就像下面的
2021-03-08 00:06:14 239
原创 如何教你从0到1实现一个简单的数据库系统(二)--世界上最简单的SQL编译器和虚拟机
我们做一个sqlite的克隆。sqlite的前端是一个SQL编译器,它是用来解析一个字符串并且输出一个称为字节码的内部表示。字节码通过虚拟机来执行它。将事物分成两个步骤具有两个优点:减少每一部分的复杂性(例如:虚拟机不需要担心语法错误)允许编译一次共同查询并缓存字节码以提高性能。在这个想法中,让我们重构我们的main()函数并支持处理两个新的关键字:int main(int argc, char* argv[]) { InputBuffer* input_buffer = new_inp
2021-02-28 23:15:54 331
原创 如何教你从0到1实现一个简单的数据库系统(一)
作为一个web从业者,我们每天都和关系型数据库打交道,但是对我们来说只是黑箱,因此我们就很想知道数据库是怎么样工作的?于是乎我就想弄明白数据库到底是怎么运作的,它的基本原理是什么?因此我决定从以下几个问题入手来弄明白数据库系统数据库中的数据在内存或者磁盘中以什么格式保存?什么时候数据从内存移动到磁盘中?(持久化)为什么数据库的每个表有且只有一个主键?数据库中事务的回滚是怎样工作的?数据库中索引是怎样格式化的?什么时候以及如何去扫描全表?已准备好的语句以什么格式保存的?换句话说,一个数据库是怎
2021-02-25 00:04:48 2714 1
原创 mysql中if多重判断使用
背景描述我们平常在使用MySQL的时候,因为if只能判断两种状态,例如if(1>2,1,2)就是说,如果1大于2则返回1,否则返回1。但是我们的业务通常有好几种状态需要来判断,这时候if两种状态不能满足我们的需求, 因此我们需要使用if嵌套if语句来实现多状态的需求,表达式为IF(expr1,expr2,IF(expr1,expr2,IF(expr1,expr2,expr3)))业务需求我一个表中的字段有三个状态,0代表未完成,1代表已完成,null代表还没有做,因此我需要在sql中判断这个三个
2020-11-18 11:42:47 12252
原创 记一次使用mybatisplus新增功能出现Could not set property ‘id‘ of class XXXXXXXX
记一次Could not set property ‘id’ of 'class com.xxxx.xxx.xxxx.entity.xxxxx’的错误我使用mybatisplus在表映射到的实体类上注明@TableName("XXXX),然后就直接开始写新增功能,发现报这个错误,我的数据库表的id设置的是自动增长,我从页面传输的对象没有包括id,折腾我大半天,我想,应该是mybatis不知道实体类映射表的哪一个字段才是主键,于是乎我在实体类的id字段上加上 @TableId(value = "id"
2020-11-17 15:10:43 11940 6
原创 springboot学习一:初识springboot是什么东东
概述使用Spring Boot可以轻松地创建独立的,基于生产级别的基于Spring的应用程序,直接运行它们。我们对Spring平台和第三方库保持开放的观点,因此您可以以最小的代价开始使用。大多数Spring Boot应用程序只需要很少的Spring配置。springboot的特征创建独立的Spring应用程序直接嵌入Tomcat,Jetty或直接运行(无需部署WAR文件)提供直接运行...
2019-10-08 14:00:04 193
原创 使用spy-debugger调试微信或者移动端的网页
背景我们开发微信或者移动端的混合开发时,需要在移动端看到效果,但时候有的时候会出现意想不到的结果,这时候需要我们像是在chrom或者其它浏览器中调试了,但是移动端的又没法像浏览器那样按F12调试,这时候我们就不知道该怎么办才好,想着要是移动端浏览器或者微信内嵌浏览器要是能调试就好了,之前我们的APP使用混合开发,在安卓显示一切正常,但是在苹果上不显示,而且后台访问正常就是不现实,干着急没办法。网...
2019-09-25 14:32:29 669
原创 使用node.ls和vue脚手架开发H5页面的上滑下拉滑动分页感悟
安装node.js安装node教程官网下载安装首先访问node.js的官方网站,下载你需要的node.js版本,然后选择安装,进入官网首页就会有下载提示,如下图所示,根据提示一步一步的来安装检查是否安装成功打开windows的命令行或者使用快捷键win + r,输入node -v出现以下信息表示安装成功,会显示你安装的node版本号通过上述两个步骤就已经完成对node.js的安装...
2019-09-25 13:42:51 456
原创 前段报错:net::ERR_CONNECTION_REFUSED
前段报错:net::ERR_CONNECTION_REFUSED报错原因分析解决问题思路报错原因分析1.有可能端口号拼写错误,导致访问不了服务器2.在本地调试的时候localhost拼写错误所致3.检查接口拼写是否正确4.检查是否存在这个接口或者这个接口的类是否存在5.访问的接口是否存在着跨域问题解决问题思路根据报错原因分析的几点,大家可以按照这几点来排查,先从1到5逐次排查,检查...
2019-09-20 13:11:50 7879
原创 在vue中axios的post请求返回的数据赋值给data()中的变量出现未定义的问题
首先我们看data()定义的变量然后我们在axios请求的then中取值这时候就会出现downdata未定义的错误,这是因为在then中this就是指向当前的对象,而无法引用data()中的变量,因此使用箭头函数就可以解决...
2019-09-11 10:04:39 10037 8
原创 dropload整合vue实现H5页面的下拉刷新分页
问题背景由于我们公司做移动端用的是混合开发,适应ios和安卓,pc,微信等,但是分页这块一直没做好,做的不是太好(毕竟都是java程序员对前端这块不是很熟,硬是头皮上的你懂得),但是分页就是用常规的web端的上下页按钮来实现的,很不符合移动端的操作,因此需要优化,自己动手写了一个下拉刷新的但是不好用,而且bug多,因此找了很长时间才发现了dropload这个框架,比较的容易上手,简单,但是文档写...
2019-08-15 13:49:46 847
原创 Json类型的String字符串转化成json数组
平常我们爬取某一个网站的页面数据时,数据通过js获取过来的json字符串或者数组需要在后台转成json对象或者数组//把字符串解析成为json数组对象JSONArray json = JSONArray.parseArray(jsonStr);//jsonStr是json字符串//循环获取json数组中的json对象for (int i = 0; i < json.size(); i...
2019-08-02 14:29:00 2122
转载 正则表达式提取某两个字符串或者字符之间的字符串
正则表达式提取某两个字符串或者字符之间的字符串假设这两个字符串或者字符为A,B匹配A,B之间的字符串,并且包括A,B表达式: A.?B(“.“表示任意字符,“?”表示匹配0个或多个)今天在使用正则表达式中,要匹配两个字符中间的内容,一时没有写出来,后来在网上找到了,记录一下。匹配两个字符串A与B中间的字符串包含A与B:表达式: A.?B(“.“表示任意字符,“?”表示匹配0个或多个...
2019-08-02 14:21:40 11033 1
原创 vue获取Java后台返回的对象属性,并添加到文本框中显示属性值
Java 后台返回的数据vue的代码var vm = new Vue({ el: "#DETAIL", data: { detail:"" }, created: function () { }, mounted: function () { this.detailMsg(); }, method...
2019-06-25 17:11:31 11753
原创 vue和java的api交互,获取返回数据,显示在页面
vue和Java API交互创建一个vue对象,定义存放数据的变量var vm = new Vue({//el 表示在某个块下加载,一般是某个块的id el: "#HQ", data: { //定义一个数组用于存放返回的list集合的数据 list:[] }, created: function () { }, moun...
2019-06-25 10:32:51 6065 1
原创 map中的某个key为时间字段的降序排序
使用map的某个key值存放时间,需要把时间降序排序难点分析我这里是把两个List合并为一个List,里面的时间是乱序的,这样就不能直接使用常规的排序思维来排序,因为我需要想出一个通用的方法来降序排序我的时间,已达到要求后来在网上查资料发现只要一个类实现Comparator接口的compare()方法就可以实现任何的排序功能我把实现代码贴出来以供大家参考,希望能够帮助到大家!publi...
2019-06-12 13:54:54 3272
原创 idea中如何让修改后的tomcat的server.xml配置生效
解决方法每次我们修改tomcat的conf下的server.xml文件后在idea中启动项目发现server.xml中的配置不生效,但是你在tomcat下的bin中使用命令启动却是可以的,我们就会有一种疑问我明明修改了,并且在tomcat启动后能生效可到了idea中为什么死活就不生效了?带着这个问题我们今天就解决这个问题!我们在server.xml中配置了上传图片的虚拟路径,但是在idea中...
2019-02-19 13:26:29 11304
原创 tomcat与项目出现Perhaps JAVA_HOME does not point to the JDK.
tomcat7已经在win10上配置好了环境变量,启动出现Perhaps JAVA_HOME does not point to the JDK.问题分析问题解决途径问题分析我的项目中使用的是jdk6,相应的tomcat的版本也与之对应,当单开发也可以使用jdk1.8,只是项目部署的时候使用jdk1.6,开始的时候我是用tomcat8来运行项目可是在解析jsp文件的时候出现不能解析的错误,思来...
2019-01-21 14:37:09 1560
原创 jdk源码阅读之Class类(1)
JDK1.8源码阅读---Class类解析Class类的注释及其解释Class类的注释以及特点说明Class类的关系图Class类的内部结构通过Class类的注释几点总结Class类的注释及其解释Class类的注释以及特点说明类{@code Class}的实例表示正在运行的Java应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组也属于一个反映为{@code Class}对象的...
2019-01-15 14:38:40 411
原创 MYSQL数据库插入数据时出现Data truncation问题
在项目开发过程中我们创建数据库表的时候会给字段设置长度,例如varchar(30)这就表示这个字段的长度为30个字符,但是有时候在新增数据时,数据库表字段的长度超出了设置的字段长度而导致Data truncation这个异常,因此解决这个异常的关键就是核对自己实际输入的字段长度和数据库设置的长度,如果数据库设置的小了,就重新设置的大一点,然后问题就解决了!!...
2019-01-02 10:12:04 11643
原创 解决轮播动态加图片效果失效的问题
之前在做项目的时候需要用到轮播的效果,我们公司的前端把页面做好后扔给我,我就开始撸起来了,可结果没想到的是轮播井然失效,死活不能生效,当时各种解决方法都试了就是不管用,最后换了一个轮播js才解决的,想来困扰了我许久,现今已经解决想把这次的经历记录下来! 代码如下<!DOCTYPE html><html><head> &l...
2018-12-28 16:59:06 2424
原创 tomcat映射本地虚拟路径
在项目中有一些上传的文件上传的文件,图片等不能放到项目中去,只能放到服务器的一个文件夹下,如果放在项目中等项目重新发布后之前的文件,图片都会被删除,这样就造成了数据的丢失。因此需要我们把文件和图片上传到服务器本地的一个指定的目录下! 具体配置如下: (1)找到你tomcat的文件夹。找到conf文件夹下的server.xml (2)修改ser...
2018-12-28 16:49:49 178
原创 js格式化json的毫秒数的时间
由于项目中有时间,在后台传给前端的时候会把数据转成json数据,json数据遇到时间就会转成毫秒数,因此在前台页面就会出现一串数字而不是我们想要的格式化时间格式,因此需要把毫秒数的时间转成标准时间格式。 function dateFtt(fmt,date) { var o = { "M+" : date.getMon...
2018-12-12 09:40:42 1085
转载 详解HTML5新增的一个会话存储对象sessionStorage
一:简介 想象下在两个HTML5页面之间相互传递数据该怎么实现了?传统的做法就是传递页面先把数据存储到数据库中,然后另一个页面用到的时候就从该数据库表中获取该数据,这样做就显得非常的繁琐,而且每次都要和数据库打交道,造成数据库读写频繁发生一些性能的问题。 随着HTML5技术的不断普及和完善,HTML5中新增了一个页面间存储获取数据的对象,这个对象就是今天我们要介绍的se...
2018-12-05 13:38:13 1012
转载 JS 详解 Cookie, LocalStorage 与 SessionStorage
基本概念CookieCookie 是小甜饼的意思。顾名思义,cookie 确实非常小,它的大小限制为4KB左右。它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记住密码”,这通常就是通过在 Cookie 中存入一段辨别用户身份的数据来实现的。localStoragelocalStorage 是 HTML5 标准中新加入的技术,它并不是什么划时代的新东西。早在 IE 6 ...
2018-12-05 13:19:46 111
转载 speingboot注解详细介绍
注解(annotations)列表(1)@SpringBootApplication:包含了@ComponentScan,@Configuration和@EnableAutoConfiguration注解注解,其中@ComponentScan让spring boot扫描到Config...
2018-12-03 14:13:11 612
原创 springboot整合百度ueditor富文本框编辑器实现图片上传和回显
在项目中遇到一些自自定义的页面,需要富文本框编辑器来编辑然后把编辑内容存放到数据库中,通过加载模版,把内容填充到模版网页中,在整合过程遇到了上传不了图片和图片上传成功却不能在富文本框中显示的问题,困扰了我很久,今天恰好解决,因此写一篇博客记录下,加深记忆也希望能帮到大家! 一:创建springboot项目 在idea中点击file按钮,然后单击new,...
2018-11-30 15:15:21 7350 4
原创 解决mysql插入中文出现错误Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
一:在windows中打开命令行,切换到mysql的bin目录下,登陆数据库,然后把数据库切换到自己的数据库中二:使用show create table 加上你自己的表明查看数据表的编码是什么,如果是下图所示则需要修改玮utf-8的编码格式。具体命令如下:alter table tableName(你自己的表名) default character set utf8;修改成功后...
2018-11-13 16:33:16 41228 10
原创 解决The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone.
因项目用到mysql数据库,在开发过程中遇到了mysql时差问题,在网上查了查原因,在jdbc数据库连接的url上加上&serverTimezone=GMT即可!!如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。再一个解决办法就是使用低版本的MySQL jdbc驱动,5.1.28不会存在时区的问题。 ...
2018-11-13 11:00:04 6199 1
原创 解决win10连接MySQL出现Access denied for user 'root'@'localhost' (using password:YES)
由于之前公司一直再用oracle数据库,这次项目采用mysql数据库,然后安装了MySQL数据库,使用Navicat可以连的上,使用dos命令行也可以登录,但是在idea程序运行时就是连不上数据库,出现Access denied for user 'root'@'localhost' (using password:YES)该错误,一头的雾水,后来在网上找到了解决方法,赶快记录下来,一面以后遇到!...
2018-11-03 10:15:49 4751
原创 在windows下查看mysql的存储引擎
(1)首先同时按住win键和r键,输入cmd,然后点击确定进入到dos命令行(2)进入dos命令行后进入到mysql命令行模式,默认是在C盘下,刚好我的mysql数据库也安装在c盘下, 1> 因此找到你本机安装mysql数据库的目录,直接到mysql目录下的bin文件夹中,然后复制该路径,在命令行中输入 cd 你安装mysql到bin目录下的路径,例如: cd C:\Prog...
2018-10-31 13:47:22 725
转载 MySql中启用InnoDB数据引擎的方法
1、存储引擎是什么? Mysql中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySql默认配置了许多不同的存储引擎,可以预先设置或者在...
2018-10-31 10:59:43 230
原创 如何在mysql官网下载mysql最新或者以前的版本
之前一直使用oracle数据库,很久没有使用mysql数据库了,最近公司有一个项目需要用到mysql的最新版本也就是5.7,然后我想着去官网去下载一个,可是打开官网就有点蒙了,找了大半天才找到,因此把这次的下载过程记录下,日后长一个记性(1)进入https://dev.mysql.com/downloads/windows/installer/8.0.html下载页面,你会看到下面的页面,然后...
2018-10-31 10:51:10 7482 4
原创 spring中的注解大全和应用说明
来源:http://t.cn/RFBJugV @Controller @RestController: @Service @Autowired @RequestMapping @RequestParam @ModelAttribute @Cacheable @CacheEvict @Resource...
2018-10-22 09:56:10 140
原创 oracle数据使用中文作为查询条件的时候查询不到数据
在前几天,我使用一个字段的值去查询我的数据库的表,但是没有查询到数据,起初我以为我的数据库表中没有对应的数据,于是我查询整个表的数据,我所要查询的数据在该表中,所以我又以模糊查询这个字段的关键没有中文就可以查询的到,所以我就怀疑是oracle数据库编码的问题! (1)在plsql中的解决,先在plsql中执行select * from v$nls_parameters,得到数据...
2018-10-22 09:35:41 4416
原创 js正则表达式验证字符串只包括大小写字母下划线和-
背景说明在之前的开发过程中为了校验一个字段只含有大小写字母,下划线和-花费了不少力气才搞定,想着赶快写一篇博客来记录下来,日后开发一定会遇到!!代码实现首先定义一个变量用来存放验证字符串的正则表达式:var regex=/^[A-Za-z0-9_\-]+$/ig;接着定义一个变量用来存放测试的字符串:var test = "aoqwi1-20s_0qf";然后再定一个变量用来存...
2018-09-21 09:25:50 13729
原创 解决使用poi处理execl表格内存溢出问题
在平常的开发中会用到处理表格文件的功能,poi就是一个非常优秀的处理表格的java框架,但是当表格文件的数据量过大处理过程就会出现堆内存溢出的异常,让人痛苦了两天,最后在谷歌的帮助下找了一个解决方法,现在把这个方法分享出来希望可以帮助到大家!!import org.apache.poi.hssf.eventusermodel.*;import org.apache.poi.hssf.ev...
2018-09-19 16:51:42 923 1
原创 List<String>转成String[]
在项目的开发中总会遇到集合和数组这两种很常见的数据结构,有时候还会出现两者相互转化,因此在这里做一个小小的总结list<String>转String[]创建一个集合 List<String> strs = new ArrayList<String>();然后给集合添加元素:strs.add("i");strs.add("love");strs.add...
2018-09-19 13:56:37 2505
数据库插入数据问题的软件
2015-11-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人