IDEA | SpringBoot 笔记

【SpringBoot】

1. IDEA 新建 SpringBoot 项目没有Spring Initializer

File -> Settings -> Plugins
搜索Spring Initializer,点击安装

IDEA | SpringBoot 笔记_第1张图片

2. 新建Spring Boot项目

File -> New -> Project -> Spring Initializer

3. application.properties 和 application.yml 的区别

区别:.yml文件比较结构化一点。
可以手动将.properties 改成 .yml

4. IDEA 启动SpringBoot 项目后自动停止

  • 删掉.idea目录,然后重启(File -> Invalidata Caches)
  • 当有maven、plugin的时候,删掉重启后启动类的左下角会有一个标着J的红色圈圈,这个时候表示maven、plugin正在重新下载;重新下载完毕后再次run启动类即可。(。。算了,没事别乱删,重启之后你还要等它重新下载,你会抓狂。。)

5. IDEA SpringBoot 项目的 .idea文件夹

  • 文件夹前面有个点.表示隐藏文件,是idea自动创建的目录
  • 该目录为idea所使用的工程文件目录,有时打开别的工程存在问题时,可以通过删除.idea目录再重启(File -> Invalidata Caches)idea得到解决。

6. pom.xml文件导入jar包时,显示红色

  • 试着清掉缓存然后重启IDEA,等待一段时间,让它下载完

7. 在复刻项目的时候,代码好多标红怎么办?

  • 不慌是不可能的,慌完之后检查一下需要的包是否已经导入了,没有的话import一下

【SpringBoot 注解】

  • @Autowired

【Shiro】

是什么: 一个安全框架
功能

  • 身份验证 Authentication:验证用户是否拥有响应的身份。
  • 授权 Authorization:权限验证。
  • 会话管理 Session Manager:用户登录到退出前是一次会话,shrio可以管理这次会话的生命周期中产生的数据。
  • 加密 Cryptography:保护数据的安全性,如将密码存入数据库时是加密存储,不会明文存储。

【JWT】

全称:JSON Web Token
使用场景:在授权和信息交换时,将信息以 JSON 对象的形式进行传输。


【Redis】

  • 是一个中间件:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

【Mybatis】

  • 操作数据库的
  • Mybatis 是一个持久化框架,对比JDBC 要优秀一些,它能对操作数据库的过程进行封装,使我们只需关注sql本身即可,提高了开发效率。

【Postman】


【Mysql】

1. 创建表
2. 删除表
  • 删除表的内容和表本身:drop table table_name;
3. 插入数据
INSERT INTO m_user VALUES 
('1', 'myname', '', NULL, '12345hygtrew', '0', '2022-04-09 21:48:50', NULL);
4. 查看表的内容
SELECT * from table_name
5. 显示mysql版本
SHOW VARIABLES LIKE 'innodb_version'

各类报错

1. 自增长问题

报错:

/* SQL Error (1075): Incorrect table definition;
 there can be only one auto column and it must be defined as a key */

解决:在自增长的表项前面加入primary key关键字

CREATE TABLE m_uuserrr(
	id BIGINT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT
);
2. 建表时,最后一个表项的末尾不需要加逗号,否则会报错

正确的语法如下:

CREATE TABLE m_uuuserrr(
	id BIGINT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT,
	username VARCHAR(64) DEFAULT NULL
);
3. 数据库建表时,设置时间戳报错

报错信息:

/* SQL Error (1294): Invalid ON UPDATE clause for 'created' column */

报错语句:

CREATE TABLE m_blog(
	id BIGINT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT,
	created DATETIME NOT NULL ON UPDATE CURRENT_TIMESTAMP
) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=UTF8MB4;

原因:mysql版本太低(当前为5.5.62)

解决:

  • 升级mysql版本(暂时还不想升级)
  • 借助触发器trigger
    ‘ON UPDATE CURRENT_TIMESTAMP’ 删掉,然后在建表语句的末尾添加4行代码(这个时候表建成了,但还是有报错,先不追究了)
CREATE TABLE m_blog3(
	id BIGINT(20) NOT NULL PRIMARY KEY AUTO_INCREMENT,
	created_time DATETIME NOT NULL
) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=UTF8MB4;
DELEMITER//
CREATE TRIGGER m_blog3 BEFORE UPDATE ON 'm_blog'
	FOR EACH ROW SET new.created_time = NOW()
DELEMITER ;

你可能感兴趣的:(SpringBoot,idea,springboot)