Start SSM from stratch !!!
- 数据库
- 两个数据库可以共存吗?
- 常见的关系数据库
- 常见的非关系数据库
- 数据库可视化管理工具
- java版本review
- ee and se?
- jdk1.7 or jdk7?
- mysql安装
- 版本对应关系
- 下载[MySQL](https://downloads.mysql.com/archives/installer/)
- 下载[Connector/J ](https://downloads.mysql.com/archives/c-j/)
- idea连接上
- maven
- 项目结构
- 依赖管理
- 仓库
- maven版本和jdk对应不那么严格
- 下载、安装、配置
- idea配置
- mybits配置
- 版本关系
- pom配置
- 报错1
- 报错2
- 其余环境的配置
- 补充
- 查看版本的命令
- 最终版本说明
数据库
两个数据库可以共存吗?
SQL Server和MySQL可以同时安装在同一台服务器上,只要注意端口号不冲突即可。默认安装一般不会导致端口冲突,因此可以共存
下载的这些数据库都需要和自己客服端连接上才可以使用
常见的关系数据库
MySQL,Oracke Database,MSSQL Server
常见的非关系数据库
Redis,HBase
数据库可视化管理工具
不仅要安装数据库,为数据库设置协议连接端口号把数据库连接到本地客户端,还需要可视化的管理工具去操作
MySQL——SQLyog,MySQL workbench(官方提供)
Oracke Database——Oracle SQL Developer
MSSQL Server——SSMS(官方提供)
Navicat很强大,这些都可以连接上管理!!!
java版本review
Java有三个版本分别是:
JavaSE(Java Platform,Standard Edition)Java标准版
JavaME(Java Platform,Micro Edition)Java微型版
JavaEE(Java Platform,Enterprise Edition) JAVA企业版
ee and se?
-
JavaSE(Java Platform, Standard Edition)是 Java 平台的标准版,提供了 Java 语言的核心 API 和运行环境。它包含了 Java 编程语言、JVM(Java 虚拟机)、基础类库等组件,用于开发桌面应用程序、命令行工具等。
-
JavaEE(Java Platform, Enterprise Edition)是 Java 平台的企业版,建立在 JavaSE 之上,为开发大型、分布式、可扩展的企业级应用提供支持。它包含了 JavaSE 的所有功能,并且还提供了一系列的 API 和服务,如 Servlet、JSP、EJB、JMS 等,用于开发 Web 应用、企业级应用服务器等。
-
区别:简单概括一下,JavaEE和JavaSE的区别。JavaSE是大家学习的Java的根底,它常常用于做电脑上运行的软件;JavaEE被公司常用于网站开发,即PC端的开发。
jdk1.7 or jdk7?
关于Java的版本和JDK版本命名真的挺乱的,在2018年更新JavaSE 10之后,对应的JDK版本叫做JDK10,后续为了方便统一,之前的JDK1.8也可以叫做JDK8了!
我们无论说Java版本还是JDK版本都是对于JavaSE这个标准版本而言,但是java ee怎么还用jdk呢?
我们使用的一般就是以Spring为主的框架了,那JavaEE体现在哪里,Spring框架中大量使用和实现了JavaEE规范,而JavaEE又是在JavaSE基础上升级而来的一组规范,那可不就是一个JDK就行了!
《图片搬运来的,还有强烈推荐阅读------java和jdk-------图片也是拿的人家的!!!!》
mysql安装
sql server是一个数据库,操作它还需要安装ssms,其版本对应关系可以参考
从这里可以看到sql server的JDBC Driver和jdk版本对应关系
我接下来说一下MySQL的安装:
版本对应关系
选择适合的 MySQL Connector/J 版本
常用的就是jdk17+mysql 8
下载MySQL
下载参考——教你安装MySQL
net start mysql (这条命令必须使用管理员权限打开cmd)
mysql -u root -p (这条命令普通的cmd即可)
成功进入:
下载Connector/J
idea连接上
注意MySQL8以上要:
com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver
测试代码网上有很多的,也可以私我,我经常看csdn的。
maven
Maven是一个项目管理工具。它通过项目对象模型(Project Object Model,POM)来管理项目的构建、报告和文档。能够自动化完成编译、测试、打包、发布等构建过程
项目结构
src/main/java下的源代码就会编译成class文件放入target目录中 ,target就是输出目录。
作为一个 maven 工程,它的 src 目录和 pom.xml 是必备的。
————更多完整信息————
依赖管理
Maven的一个核心功能是依赖管理。它允许开发者声明项目所依赖的库(如jar文件),Maven会自动下载这些依赖,并管理它们的版本。这样可以确保项目在不同的环境中有一致的依赖,减少了因依赖问题导致的错误。
前面我们通过web阶段的项目,要能够将项目运行起来,就必须将该项目所依赖的一些jar包添加到工程中,否则项目就不可以运行了,如果相同架构的项目有十几个,那么我们就需要将这一份jar包复制到十个不同的工程中,但是使用maven之后文件夹就如此之小。
maven工程不直接将jar包导入到工程中,而是通过再pom.xml中添加所需的jar包的坐标,这样就避免了jar直接引入进来,在需要用到jar包的时候,只要查找pom.xml文件,再通过pom.xml中的坐标,到一个专门用于存放jar包的仓库中根据坐标从而找到这些jar包,再把这些jar包拿去运行。
感觉有点类似与操作系统的装入时动态链接和运行时动态链接欸!!!
仓库
Maven使用中央仓库来存储依赖库。当Maven需要下载依赖时,它会首先从中央仓库查找。此外,Maven还支持设置镜像仓库和本地仓库,以优化下载速度和提高可靠性。
- 当第一次运行Maven命令来构建项目时,Maven会从远程仓库(如中央仓库)下载项目所依赖的库(jar文件)到本地仓库。
- 由于依赖一旦下载就会存储在本地仓库中,因此在项目开发过程中,重复构建时不需要多次下载相同的依赖
- 可以配置多个本地仓库,例如,为不同的项目或不同的环境设置不同的本地仓库,以更好地管理依赖,这个就像conda的虚拟环境了
maven版本和jdk对应不那么严格
- 只要满足最低限制既可以,不像其他还要具体版本号还要对应。
Maven 3.8+ requires JDK 1.7 or above to execute. It still allows you to build against 1.3 and other JDK versions by using toolchains.
Maven 3.9+ requires JDK 8 or above to execute. It still allows you to build against 1.3 and other JDK versions by using toolchains.
- 但是idea和maven有对应版本约束
maven发布时间在IDEA版本之前的
也可以参考————版本约束————
发布时间和下载链接相关信息:
If you still want to use an old version, you can find more information in the Maven Releases History and can download files from the Maven 3 archives for versions 3.0.4+ and legacy archives for earlier releases.
译文:
如果您仍想使用旧版本,可以在 Maven 版本历史记录中找到更多信息,并且可以从 Maven 3 存档(版本 3.0.4+)和旧版存档(早期版本)下载文件。
下载binary->.zip后缀的,就是类似图片中 apache-maven-3.9.0-bin.zip
下载、安装、配置
<profile><id>jdk-17</id><activation><activeByDefault>true</activeByDefault><jdk>17</jdk></activation><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><maven.compiler.compilerVersion>17</maven.compiler.compilerVersion></properties></profile>
————超详细!!!————
idea配置
这个每个项目都需要配置一次,我重弄一了一个项目果然!!!
刚创建了一个项目,main里面就就报错:
IDEA的JAVA项目创建以后会显示无法解析方法 'println(String)'
————想要解决快点我————
mybits配置
版本关系
pom配置
报错1
出现报错:::
```xml
The artifact mysql:mysql-connector-java:jar:8.0.32 has been
relocated to com.mysql:mysql-connector-j:jar:8.0.32: MySQL Connector/J artifacts
moved to reverse-DNS compliant Maven 2+ coordinates.
只需要更换groupid既可以:
<groupId>com.mysql</groupId>
报错2
Could not find artifact
com.mysql:mysql-connector-java:pom:8.3.0 in alimaven
(http://maven.aliyun.com/nexus/content/repositories/central/)
阿里云的版本最高才8.0.33啊啊啊,而且groupid 还是#,但是我尝试了直接mysql也是可以的!!!
如果想导入高版本,可以去官网下载Connector/J 下载,然后product structure中导入!!!
其余环境的配置
————搭建MyBatis环境————
补充
那些后缀.md5 .sha的:
数据完整性验证和身份认证是两个非常重要的方面。为了确保数据在传输过程中的完整性和防止篡改,密码学提供了一系列算法来实现这一目的。其中,哈希函数因其独特的性质而被广泛应用。本文将重点介绍两种著名的哈希算法——SHA(Secure Hash Algorithm,安全哈希算法)和MD5(Message-Digest Algorithm 5,消息摘要算法5)
查看版本的命令
这些是我目前所知的,还会补充,这些命令多一个-,少一个-,都不行,晕(((φ(◎ロ◎;)φ)))
最终版本说明
-
java version “17.0.8” 2023-07-18 LTS
-
idea-IntelliJ IDEA 2023.3.6 (Ultimate Edition)
-
MySQL 8.0.35
-
MySQL-Connector/J 8.3.0
-
SQL Server Management Studio 20.1.10.0
-
sql驱动:sqljdbc_12.6.2.0_chs\sqljdbc_12.6\chs\jars\mssql-jdbc-12.6.2.jre11.jar
-
maven: apache-maven-3.9.0