从零开始git+maven+mybatis
1. git
- 下载git
- git的安装配置
- 配置个人用户名称和电子邮件地址
- 创建本地git仓库
- 将文件从工作目录提交到暂存区
- 将文件从暂存区提交到版本库
- 创建GitHub账号和仓库
- 部署ssh公钥
- 将文件从本地git仓库提交到远程git仓库
- 从GitHub上搜索一个项目并clone到本地
2. maven
- maven的安装配置
- 在VScode中创建maven项目
3.Mybatis
- 在maven项目中导入mybatis坐标
- 编写核心配置文件【mybatis-config.xml】
- 书写相关接口及映射文件
- 测试【sqlsession】
1.git
git的安装配置
在使用Git前我们需要先安装 Git。Git 目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行。
Git 各平台安装包下载地址为:http://git-scm.com/downloads
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了。
在开始菜单里找到"Git"->“Git Bash”,会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作
配置个人用户名称和电子邮件地址
接下来我们需要配置一下用户名称和电子邮件地址
$ git config --global user.name "YourName"
$ git config --global user.email xxx@xx.com
创建本地git仓库
接下来我们需要在本地创建一个git仓库。
首先我们在喜欢的地方创建一个文件夹,用来创建咱们的本地git仓库。
然后在这个文件夹内,鼠标右键点击git bash,进入命令行,接下俩我们就可以在这个命令行中对我们的git仓库进行操作啦。
我们首先执行语句:git init 。
$ git init
然后就会在文件夹中产生一个.git目录,所有 Git 需要的数据和资源都存放在这个目录中。
将文件从工作目录提交到暂存区
我们先来理解下 Git 工作区、暂存区和版本库概念:
- 工作区:就是你在电脑里能看到的目录。
- 暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
它们的工作关系如下图所示:
因此我们要上传到我们的Git版本库中,首先得将文件从工作区提交到暂存区。
我们首先创建文件。在git bash命令行中,操作与linux一样,touch 来创建文件,mkdir 来创建文件夹,cd 来切换目录,vi 来修改文件,rm 来删除文件,ls 来显示当前目录所有文件。
$ touch README.txt
$ vi README.txt
然后切换到 insert 模式,输入一些字符,然后 ESC ,输入 : wq 保存并退出。 我们可以看到当前目录下已经有了新的文件。
然后我们使用 git status 语句来查看当前状态
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.txt
nothing added to commit but untracked files present (use "git add" to track)
我们可以看到文件还没有add进暂存区。
接下来我们使用 git add 语句
$ git add README.txt
warning: in the working copy of 'README.txt', LF will be replaced by CRLF the next time Git touches it
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.txt
我们可以看到提交成功了。
将文件从暂存区提交到版本库
前面我们使用 git add 命令将内容写入暂存区,接下来我们使用 git commit 命令来将暂存区内容添加到本地仓库中:
git commit file -m 'message'
(这里的-m表示带有一种信息,message 可以是一些备注信息。)
将所有暂存区文件提交到本地仓库中:
$ git commit -m 'first commit'
[master (root-commit) 98a6808] first commit
1 file changed, 1 insertion(+)
create mode 100644 README.txt
将暂存区指定文件提交到本地仓库中:
$ git commit README.txt -m 'second commit'
[master (root-commit) 98a6808] second commit
1 file changed, 1 insertion(+)
create mode 100644 README.txt
接下来我们修改README.txt文件,然后再提交。
$ vi README.txt
$ git status
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.txt
no changes added to commit (use "git add" and/or "git commit -a")
$ git add .
warning: in the working copy of 'README.txt', LF will be replaced by CRLF the next time Git touches it
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: README.txt
$ git commit -m '修改了一下'
[master 01d1ee8] 修改了一下
1 file changed, 2 insertions(+)
接下来我们可以尝试用-a 来直接提交修改过的文件,而不通过add这样繁琐的操作。
$ vi README.txt
$ git commit -am "又修改了一下"
warning: in the working copy of 'README.txt', LF will be replaced by CRLF the next time Git touches it
[master 4ee5df5] 又修改了一下
1 file changed, 2 insertions(+)
当我们在本地修改了之后,我们可以简单使用 git diff 来比较暂存区的文件与还未提交文件的差别。
$ vi README.txt
$ git diff
warning: in the working copy of 'README.txt', LF will be replaced by CRLF the next time Git touches it
diff --git a/README.txt b/README.txt
index 0763aa8..5c5260e 100644
--- a/README.txt
+++ b/README.txt
@@ -3,3 +3,5 @@ HelloWorld!
こんにちは!你好呀!Hello!
阿巴阿巴阿巴阿巴
+
+niconiconi~あなたのハードにニコニコニ~(不是)
创建GitHub账号和仓库
首先我们打开GitHub官网,然后按照官网上面的步骤注册一个账号,然后我们就可以进入到GitHub中啦。
然后我们在主页新建一个库
点开右上角的Code选项,选择SSH,我们可以看到一个SSH的url,然后这个就是到时候远程连接的url。
部署SSH公钥
然后我们打开Git Bash,输入一下语句得到SSH key:(这里的email是GitHub上面注册用的邮箱)
$ ssh-keygen -t rsa -C "youremail@example.com"
之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。
然后就会在当前目录下生成.ssh文件夹,找到里面的id_rsa.pub文件。不过很有可能打不开这个pub文件,如果打不开的话我们不要直接用文本打开,我们用一下方式:
当前目录输入cmd打开dos,然后输入:
type id_rsa.pub
然后就得到了SSH key,复制即可。
接下来我们要设置SSH keys,回到GitHub,点开右上角小圆圈,找到settings,找到SSH and GPG keys,然后点开new SSH key ,把刚才复制的SSH key输入按照提示完成就好啦。
将文件从本地git仓库提交到远程git仓库
首先输入以下语句,连接到远程仓库
$ git remote add origin git@github.com:Jyunnchi/GitTest.git
然后我们输入一下语句,将本地仓库的更新提交到远程仓库
$ git push origin master
Enumerating objects: 13, done.
Counting objects: 100% (13/13), done.
Delta compression using up to 4 threads
Compressing objects: 100% (11/11), done.
Writing objects: 100% (12/12), 1.07 KiB | 1.07 MiB/s, done.
Total 12 (delta 5), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (5/5), done.
To github.com:Jyunnchi/GitTest.git
ca98b41..251c475 master -> master
这样就提交完成啦,我们回到GitHub上,可以看到文件已经上传到了GitHub仓库中了。
从GitHub上搜索一个项目并clone到本地
我们可以在GitHub个人首页的中上部分看到搜索框,我们可以在这里搜索我们想要找的项目。
找到中意的项目之后,我们点进这个仓库,找到Code这个按钮,点开以后找到SSH,里面有ssh url,就和之前的操作一样,然后我们回到本地。
在你的git仓库中,打开git bash,然后输入以下语句:
$ git clone git@github.com:mickvanhulst/q_learning.git
Cloning into 'q_learning'...
remote: Enumerating objects: 105, done.
Receiving objects: 78% (82/105)remote: Total 105 (delta 0), reused 0 (delta 0),
Receiving objects: 86% (91/105)
Receiving objects: 100% (105/105), 50.77 KiB | 490.00 KiB/s, done.
Resolving deltas: 100% (44/44), done.
这里clone后面的url就是刚刚复制的ssh的url。然后我们回到本地仓库,查看目录,发现该项目已经成功下载好啦!
2. Maven
Mavend的安装与配置
我们首先需要去官网下载Maven的安装软件。
地址在这:http://maven.apache.org/download.cgi
压缩包下载完成后,我们把Maven下载到一个没有中文没有空格的目录下。
然后我们配置环境变量
鼠标右键打开我的电脑,找到属性,找到高级系统设置,找到高级,找到环境变量。
新建系统变量,变量名为MAVEN_HOME,变量值为你刚刚解压的Maven的路径。点击确定后,找到PATH这个变量,然后在里面添加%MAVEN_HOME%\bin
%MAVEN_HOME%\bin
然后我们windows+R打开dos窗口,输入mvn -v,查看是否安装成功。
C:\Users\86157>mvn -v
Apache Maven 3.9.3 (21122926829f1ead511c958d89bd2f672198ae9f)
Maven home: D:\devement\del\apache-maven-3.9.3
Java version: 17.0.1, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-17.0.1
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
这样就是安装成功了。
然后我们需要配置本地仓库。
我们先在你喜欢的地方创建一个空白文件夹,作为我们的本地仓库。
然后在maven安装目录中,进入conf文件夹, 可以看到一个 settings.xml 文件中, 我们在这个文件中, 进行本地仓库的配置
打开 settings.xml文件:
这里的本地仓库路径就是你刚刚创建的空白文件夹路径。
然后我们需要配置远程仓库,我们用阿里云仓库。
在settings.xml文件中,找到<mirrors>标签,将里面的<mirror>替换为以下代码:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>
http://maven.aliyun.com/nexus/content/groups/public/
</url>
<mirrorOf>central<mirrorOf>
</mirror>
这样Maven就配置完成啦!
在VS code中创建maven项目
我们首先点击左上角,文件——首选项——设置,然后输入Maven,找到Maven:Excluded Folders,点击 在settings.json中编辑
然后添加上下面几句:
"maven.settingsFile": "D:/devement/del/apache-maven-3.9.3/conf/settings.xml",
"maven.executable.path": "D:/devement/del/apache-maven-3.9.3/bin/mvn.cmd",
"redhat.telemetry.enabled": true,
注意这里的路径都是自己的文件路径。
然后我们在工作区右键点击 从Maven原型创建新项目
然后点击quickstart快速创建项目,然后按照要求来就好啦!
3.Mybatis
在maven项目中导入mybatis坐标
我们首先新建一个maven项目,找到里面的pom.xml,输入以下代码添加依赖,安装mybatis。
<!--导入MySQL的驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
<!--导入MyBatis的jar包-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
编写核心配置文件【mybatis-config.xml】
在main目录下新建一个resources目录,然后新建文件
mybatis-config.xml
然后复制以下代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- mysql8版本-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/1221?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!-- 设置映射文件的路径-->
<mappers>
<mapper resource="BlogMapper.xml"/>
</mappers>
</configuration>
这里是连接数据库,记得修改成自己的url。最后mapper的resource中的文件是我们接下来马上要新建的文件。
书写相关接口及映射文件
然后我们在resources目录下新建BolgMapper.xml文件,复制以下代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
namespace:命名空间
-->
<mapper namespace="test_mybatis"><!--相当于函数 ,封装下列sql语句-->
<select id="select" resultType="com.example.App">
<!--这里表示标志,id是这条sql语句的标志,com.example.App是左边main目录的App类
它表示接收这个sql查询到的数据的类-->
select empno,ename from eemp;
</select>
</mapper>
其中resultType是设置返回结果的类型,注意这里需要加上类所在的包。
测试【sqlsession】
接下来我们先回到App类,这个就是sql返回的结果对象。
因为我需要查询empno和ename这两个字段,所以我是这样写的:
package com.example;
public class App
{
private int empno;
private String ename;
public App(){}
public App(int empno,String ename){
this.empno=empno;
this.ename=ename;
}
public int getEmpno() {
return empno;
}
public void setEmpno(int empno) {
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String toString(){
return empno+"号 "+ename;
}
}
然后我们再新建一个test类,里面写上main方法,用来测试我们的mybatis的sqlsession。
package com.example;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class test {
public static void main(String[] args) {
String resource = "mybatis-config.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sql=sqlSessionFactory.openSession();
List<App> list=sql.selectList("test_mybatis.select");//想要获取得到查询所有数据
//就要得到App对象的集合,test.select就是BlogMapper.xml中的标签
for(App app:list){
System.out.println(app.toString());
}
sql.close();
}
}
得到了以下输出:
PS D:\学习\后端\Java SE> d:; cd 'd:\学习\后端\Java SE'; & 'C:\Program
Files\Java\jdk-17.0.1\bin\java.exe' '@C:\Users\86157\AppData\Local\Temp\cp_4ifiwuzyls90xeh2z97zufdgx.argfile' 'com.example.test'
1号 Zhangsan
2号 Lisi
3号 Wangwu
4号 Laoliu
5号 Liuqian
9号 张三
说明咱们配置成功啦!!!