Springboot零基础搭建简单后台练习(一)
一、创建SpringBoot项目1. 新建项目,选择Spring Initializr–>next
2. 项目设置类型:maven 语言:java 打包:jar java版本:11 然后next
3. SpringBoot依赖选择选择Spring Web、JDBC api和MYSQL Driver
4. 编辑项目名称和存储路径
5. finish后编辑pom.xml文件添加所需jar包123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...
Spring JDBC学习笔记(Maven导入jar包)
Spring JDBCSpring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发步骤:1. 导入jar包12345678910111213141516171819202122232425<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.2.8.RELEASE</version></dependency><dependency> <grou ...
JDBC数据库连接池笔记
数据库JDBC连接池1. 概念:其实就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。
2. 好处:
节约资源
用户访问高效
3. 实现:1. 标准接口:DataSource javax.sql包下的1. 方法:
获取连接:getConnection()
归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connection.close()方法,则不会再关闭连接了。而是归还连接
2. 一般我们不去实现它,有数据库厂商来实现
C3P0:数据库连接池技术
Druid:数据库连接池实现技术,由阿里巴巴提供的
4. C3P0:数据库连接池技术步骤:1. 导入jar包 (两个) c3p0-0.9.5.5.jar mchange-commons-java-0.2.20.jar ,
不要忘记导入数据库驱动jar包
maven导入:12345678910<dependency ...
执行“select @@tx_isolation;”时出现Unknown system variable 'tx_isolation'报错
今天在datagrip中执行select @@tx_isolation;命令时出现 [HY000][1193] Unknown system variable 'tx_isolation'错误 解决方法: 在Mysql8中,tx_isolation变量已修改为transaction_isolation 执行结果:
同时,修改事务隔离级别的操作可以修改为
SET transaction_isolation = 'READ-UNCOMMITTED';
或
SET SESSION transaction_isolation = 'READ-UNCOMMITTED';
参考自:StackOverflow `
Mysql多表关系练习笔记
Mysql多表关系关系分类:
一对多/多对一:
实现方式: 实现方式:在多的一方建立外键,指向一的一方的主键。
2. 多对多:
实现方式:多对多关系的实现需要借助第三张中间表,中间表至少包含两个字段。其中每一个字段分别指向原表
3. 一对一:
实现方式:在任意一方建立外键,指向另一方的主键。
案例分析:旅游线路
代码实现:123456789101112131415161718192021222324252627282930313233343536373839404142<pre>/* rid 线路id cid 用户id */#创建topic分类表create table topic( cid int, name varchar(20));#创建路线表routescreate table routes( rid int, name varchar(20), price int);#创建用户表userscreate table users( uid int, username varchar(20 ...
Mysql约束笔记
约束概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。
分类:
主键约束:primary key;
非空约束:not null;
唯一约束:unique;
外键约束:foreign key
非空约束:not null
创建表时添加约束 CREATE TABLE stu( id INT, name VARCHAR(20) NOT NULL –name为非空 );
创建表完后,添加非空约束 ALTER TABLE stu MODIFY name VARCHAR(20) NOT NULL;
删除name的非空约束 ALTER TABLE stu MODIFY name VARCHAR(20);
唯一约束:unique,值不能重复
创建表时添加唯一约束
12345CREAT TABLE stu(id INT,phone_number VARCHAR(20) UNIQUE);
注意mysql中,唯一约束限定的列的值可以有多个null
删除唯一约束 ALTER TABLE stu DROP INDEX phone_number;
在创建表后,添加唯 ...
bark-在Windows与ios间实现接力
当你使用win本+iOS时,是否羡慕macOS的handoff接力功能?今天介绍的Bark就能解决你的这个问题。不同于 Pushover 这样的推送服务,Bark 是完全免费且开源的,我们甚至可以在自己的服务器上搭建 Bark 服务端以安全地推送敏感信息。 Bark-github主页
如何使用运行 Bark 后,我们会在应用内看到许多链接,它们均以https://服务器/设备识别码/推送内容为格式。其中,设备识别码最为重要,它直接决定了我们会将信息推送给谁。将你想推送的内容替换掉链接中的推送内容字段,在浏览器中打开此链接便可在ios设备上收到推送。
如何确保个人信息安全?1. 软件自带的服务端你第一次进入bark,bark便自带了服务器,可谓开箱即用,如果你希望保护自己的隐私内容,原作者还是推荐用自有vps自行搭建一个。
2. 自行搭建bark服务端软件的下载和安装步骤可以参考官方部署文档《Bark服务端部署文档》
电脑端如何推送到iOS端当你想要发送文字到手机上粘贴,通常的做法是打开QQ或微信,将你要发送的文字粘贴到聊天框,然后通过手机端打开QQ或微信,再次复制粘贴操作,这样往往十 ...
apache2给特定端口添加https
apache2端口转发和反向代理主要利用两个模块proxy和proxy_http:apache2服务器程序的主要文件主要在/etc/apache2文件夹中
启用proxy和proxy_http两个模块
1234ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.loadln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load
模块启用后
在/etc/apache2/sites-available/000-default.conf文件中添加
12345678ServerName 你的域名ServerAdmin webmaster@localhostDocumentRoot 网站根目录ErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR} ...
顶层const和底层const
最近一直在看《C++ Primer》,于是对书中的部分内容做了总结。
顶层const和底层const的概念顶层const(top-level const):表示指针本身是一个常量。 底层const(low-level const):表示指针所指的对象是一个常量。
举个例子:12345678910int i=0;int *const p1=&i; //顶层const,p1的值不能改变const int ci=1; //顶层const,ci的值不能改变const int *p2=&ci; //底层const,p2的值可以改变const int *const p3=p2; //靠右的为常量指针,顶层const,靠左的为底层const,所以p3既是顶层const,又是底层const
个人总结:
用于声明变量和作为const指针的为顶层const
用于声明引用和指针的为底层const
在执行对象的拷贝操作时,顶层const不受影响。
当一个对象既是顶层const,又是底层const,拷贝时必须清楚它指向的对象必须是常量。
如何将你的闲置iPad作为笔记本扩展屏
最近刚好在家找到了我的一部老旧的iPad mini,想想可以废物利用,将它作为我的笔记本的扩展屏。这次便在App Store找到了一款软件XDisplay,相较于Duet display,这是一款免费的应用,使用下来,流畅度和清晰度本人还可以接受(b站网页视频可以流畅播放)。网上有人说,会占用笔记本的cpu,在我的使用下,大概只占用100多MB,不影响电脑的使用。
如何安装:安卓和win版本:XDisplay官网 iOS版本:在APP store搜索XDisplay即可
如何使用:win10系统(需提前安装XDisplay的win10版本)如果使用iPad作为拓展屏,软件会自动提示安装iTunes,安装完毕后,打开iPad上的XDisplay应用,用数据线连接到电脑,软件会自动连接。
使用效果: