构建一个Web工程所需的环境搭建(详细图文)_写一个springweb项目需要搭建哪些-程序员宅基地

技术标签: spring  java  tomcat  JavaEE  mybatis  mysql  WEB工程  


前言

相信大多数人在搭建自己的第一个WEB项目时,都会有一下子接触到很多应用软件而手足无措的经历。这里是我搭建WEB项目时,用到的很多软件从下载到配置一条龙服务的总结(项目源码网址)。希望这篇文章不仅能为我下次重新搭建项目时省下很多查资料的时间,也能为大家带来帮助,觉得有需要的朋友记得收藏!

一、安装Java

1.下载JDK

  • JDK是Java Development Kit的缩写,,即中文Java开发工具。
  • 它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境(JRE),以及常用的Java类库等。

JDK的介绍

JDK下载网页
当你下载的是zip版本,解压后就好了;如果你下载的是exe版本,就需要进行安装操作,根据安装引导就可以完成。

2.配置Java环境变量

1).在系统变量中新建一个JAVA_HOME变量,将安装在电脑中的JDK的bin目录路径赋值给该变量
系统变量
2).在用户变量的Path中,新建一个环境变量,赋值%JAVA_HOME%\bin

环境变量

3.检验配置的结果

  • 按win+R打开运行框,输入cmd进入到命令行窗口。在窗口中输入java -version,当出现了正确的版本号就表示JDK环境配置成功了

检验结果

二、安装MySQL和SQLyog

1.下载MySQL

2.下载SQLyog

  • SQLyog是一款免费的可视化操作MySQL数据库的软件,它内置视觉架构设计器、可视查询生成器、查询格式化程序,能够智能代码补全、具有语法高亮显示和各种自动格式设置选项的编辑器。
  • 安装包从该网址下载点击这里

官网地址

三、安装TomCat服务器

  • TomCat服务器主要用于将JavaWeb工程部署上去,以便与可以在浏览器中访问。该服务器免费,使用率比较高。

1.下载TomCat

tomcat同样是直接解压文件就行(和JDK一样解压即用)

2.配置环境变量(可以跳过这个步骤)

  • 因为是解压即用,所以只需要配置环境变量。如果不配置环境变量,就只能在tomcat安装的bin目录中启动和停止。
  • 当然也可以配置环境变量,这样就可以在任何目录下启动,具体配置的步骤和JDK、Maven一样。

3.验证tomcat是否配置成功

  • 如果跳过了步骤2,此时必须在tomcat安装的bin目录下打开命令行窗口,输入命令startup.bat或者双击bin目录下的startup.bat。此时会出现一个启动窗口如下,然后访问网页http://localhost:8080/,如果能显示如下页面,即安装配置成功。关闭TomCat窗口,服务就会停止。
    启动窗口成功页面

4.TomCat启动过程遇到的问题

  • 双击startup.bat启动时,窗口会一闪而过
    可以在startup.bat文件最后加上pause
    加上pause
  • 与JDK版本不适配,导致启动失败
    版本不匹配会导致启动后,没有TomCat窗口弹出来,此时需要降低TomCat的版本
    在这里插入图片描述
  • cmd窗口乱码的原因
    因为windows系统的默认编码是GBK(936),而TomCat的默认编码是UTF-8(65001)
    命令行默认编码
    使用chcp 65001可以临时将编码方式修改为UTF-8,下次打开命令行又会变成GBK
    修改后的编码
    想要永久将命令行编码格式改成UTF-8,可以在以下图片中的位置修改,但此时会导致电脑别的地方出现乱码(不建议永久)
    备注:将TomCat的编码方式改成GBK也可以,但是会导致IDEA中的日志出现乱码,所以同样不建议
    在这里插入图片描述

5.在tomcat中部署web项目

主要把握好路径对应位置关系。详细请见文章点击这里

四、安装IDE(IDEA)

  • JetBrains IDEA是一款被广泛使用的IDE(集成开发环境),被称为"最好的Java IDE"。它为Java开发提供了许多有用的功能,包括代码自动完成、智能重构、代码调试、版本控制、代码审查等。IDEA还支持其他编程语言,如Kotlin、Python、JavaScript等。

1.下载IDEA

  • 进入JetBrains公司的官网点击这里,选择下载Intellij IDEA
    IDEA下载官网
    可以根据自己电脑的配置选择对应的版本
    选择其他版本的入口

2.安装IDEA

  • 下载exe版本后,双击进入安装引导程序,安装完成即可
    IDEA安装界面

五、安装Maven

  • Maven是著名Apache公司下基于Java开发的开源项目,用于依赖版本的控制。只需要在pom.xml文件中配置依赖,maven就可以自动帮你加入jar包。

1.下载Maven

Maven下载网址

  • 选择版本,根据IDEA的版本来选,低版本的IDEA无法运行高版本的Maven,合适才最重要!
    版本对应情况

Maven下载官网

  • maven的安装很简单,就是直接解压文件就行(和JDK一样解压即用,当然了,前提是你下载的是zip压缩包格式

2.配置Maven的环境变量

  • 同配置Java环境变量一样

1).在系统变量中新建一个MAVEN_HOME变量,将安装在电脑中的Maven的bin目录路径赋值给该变量
在这里插入图片描述

2).在用户变量的Path中,新建一个环境变量,赋值%MAVEN_HOME%\bin
配置Path
3).检验环境配置的结果
win+R打开运行窗口,输入cmd运行命令行窗口
配置结果

3.配置Maven的settings.xml文件

根据下图的路径配置settings.xml文件
在这里插入图片描述1).新建一个repositor文件夹,作为存放jar包的本地库,配置代码如下

  <!--配置本地库-->
  <localRepository>F:\Maven\maven3.8.6-repository</localRepository>

2).修改中央仓库为阿里源,因为镜像仓库的访问速度很快,阿里云的镜像网站有很多,详情信息看点击这里

<!--配置镜像网站,这里为阿里源-->
    <mirror>
      <id>nexus-aliyun</id>
      <mirrorOf>central</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/repositories/central</url>
    </mirror>

3).配置默认JDK的版本

<!--配置默认JDK的版本-->
    <profile>
      <id>jdk-1.8</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
    </profile>

4.集成到IDEA中

详细请见文章点击这里

5.补充-在maven中导入第三方jar包或者自己封装的jar包

  • 抓住maven管理jar包的思路——就是根据pom.xml文件从本地库中找到依赖添加到相应的工程中,如果本地库中没有找到就从中央仓库中找,然后下载到本地库中。一般情况下,第三方jar包没有pom.xml文件,而自己封装的jar包pom.xml文件可能有些问题,所以得通过Maven命令对jar进行安装,也就是install到本地库中。
  • 在命令行中输入相关命令:
mvn install:install-file -Dfile=F:\Maven\maven3.6.3-repository\com\atming\maven\myssm.jar -DgroupId=com.atming.maven -DartifactId=myssm -Dversion=1.0 -Dpackaging=jar
  • 其中file路径可以随便填,只要是jar的路径即可;groupId、artifactId、version均可随便填,规范就行;packaging填jar或者war

六、配置框架

在项目初始化时,首先加载 web.xml 文件,启动 Spring MVC 的 DispatcherServlet,并指定其他配置文件的位置和启动参数。然后加载 applicationContext.xml,通过读取并解析此文件,配置整个 Spring 应用程序。接下来加载 mybatis-config.xml,用于配置 MyBatis 框架的全局属性和映射器等。最后加载 springmvc-servlet.xml,用于配置 Spring MVC 框架的 Web 层相关组件。详细流程见文章点击这里

1.配置pom.xml

  • 根据这个网站点击这里,找到自己需要的jar包的三大坐标,加入到pom.xml中即可自动导入对应版本的jar包。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!--    父项目坐标信息-->
    <parent>
        <artifactId>Java-Web</artifactId>
        <groupId>com.atming.maven</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
<!--    自身坐标信息-->
    <artifactId>bookcity-springMVC</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

<!--    常量-->
    <properties>
        <maven.compiler.source>16</maven.compiler.source>
        <maven.compiler.target>16</maven.compiler.target>
        <spring.version>5.3.1</spring.version>
    </properties>

    <dependencies>

<!--        spring中上下文依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
<!--        spring中管理bean的依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>
<!--        springmvc的依赖-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
<!--        spring整合jdbc的依赖,提供了DataSourceTransactionManager-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${spring.version}</version>
        </dependency>
<!--        spring中构建切面的依赖,用于事务管理-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>${spring.version}</version>
        </dependency>
<!--        spring整合junit的依赖,方便在测试类中以依赖注入的方式使用ioc容器-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--Mybatis核心-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
        <!--mybatis和spring.的整合包,其中提供了SqlSessionFactoryBean-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.6</version>
        </dependency>
<!--        Druid数据库连接池依赖-->
        <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
<!--        junit依赖-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
            <scope>test</scope>
        </dependency>
<!--        数据库连接依赖-->
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>
        <!--L0g4j日志,用于mybatis执行时展示细节-->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
<!--        分页插件的依赖-->
        <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.3.1</version>
        </dependency>
        <!--日志,slf4j日志门面的具体实现-->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>
<!--        servlet的依赖,spring中的dispatcherServlet需要该依赖-->
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
<!--        用于springMVC处理json对象的依赖-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.12.1</version>
        </dependency>
<!--        用于实现文件上传和下载的依赖-->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!--Spring5和ThymeLeaf整合包-->
        <dependency>
        <groupId>org.thymeleaf</groupId>
        <artifactId>thymeleaf-spring5</artifactId>
        <version>3.0.12.RELEASE</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <parameters>true</parameters>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

2.配置web.xml

  • 这里给出一个用过的案例作为模板,其中编码过滤器必须在第一位,因为一旦先获取参数,编码过滤器就会失效
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

<!--    配置编码过滤器,解决post请求乱码问题-->
    <filter>
        <filter-name>CharacterEncoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<!--        为请求设置编码为utf-8-->
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
<!--        为响应设置编码为utf-8-->
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

<!--    配置请求方法的过滤器-->
    <filter>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <url-pattern>/</url-pattern>
    </filter-mapping>

<!--    配置中央控制器-->
    <servlet>
        <servlet-name>SpringMVC</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:SpringMVC-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>SpringMVC</servlet-name>
<!--        /*会拦截所有的请求路径,/只会拦截除.jsp的路径-->
        <url-pattern>/</url-pattern>
    </servlet-mapping>

<!--    配置ContextLoaderListener监听器,用于在Tomcat服务器应用启动时加载spring配置文件-->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

<!--    配置spring配置文件的文件路径名-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

</web-app>

3.spring

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">

<!--    开启注解扫描,spring负责扫描除Controller以外的bean对象-->
    <context:component-scan base-package="com.atming.maven.bookcity">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<!--        <context:exclude-filter type="assignable" expression="com.atming.maven.bookcity.controller.BookController"/>-->
    </context:component-scan>

<!--    引入properties文件-->
    <context:property-placeholder location="classpath:JDBC.properties"></context:property-placeholder>

<!--    管理dataSource-->
    <bean id="dateSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>

<!--    整合mybatis-->
    <bean class="org.mybatis.spring.SqlSessionFactoryBean">
<!--        加载mybatis配置文件-->
        <property name="configLocation" value="classpath:mybatis-config.xml"></property>
<!--        设置dataSource数据源-->
        <property name="dataSource" ref="dateSource"></property>
<!--        设置别名,以包为单位-->
        <property name="typeAliasesPackage" value="com.atming.maven.bookcity.pojo"></property>
<!--        <property name="mapperLocations" value="classpath:com.atming.maven.bookcity.mapper/*.xml"></property>-->
    </bean>

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!--        引入mapper配置文件-->
        <property name="basePackage" value="com.atming.maven.bookcity.mapper"></property>
    </bean>

<!--    配置数据源事务管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dateSource"></property>
    </bean>

<!--    开启事务管理器注解驱动-->
    <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>


</beans>

4.springMVC

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

<!--    开启注解扫描,springMVC只负责扫描Controller注解-->
    <context:component-scan base-package="com.atming.maven.bookcity.controller"></context:component-scan>

    <!-- 配置 Thymeleaf 视图解析器
         配置完毕后可以使用MVC的方式完成视图渲染和跳转了
    -->
    <bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
        <property name="order" value="1"/>
        <property name="characterEncoding" value="UTF-8"/>
        <property name="templateEngine">
            <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
                <property name="templateResolver">
                    <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
                        <!-- 视图前缀 -->
                        <property name="prefix" value="/WEB-INF/pages/"/>
                        <!-- 视图后缀 -->
                        <property name="suffix" value=".html"/>
                        <property name="templateMode" value="HTML5"/>
                        <property name="characterEncoding" value="UTF-8"/>
                    </bean>
                </property>
            </bean>
        </property>
    </bean>

<!--    配置默认的servlet,这样当dispatcherServlet处理不了的资源,会交给默认的servlet处理-->
    <mvc:default-servlet-handler></mvc:default-servlet-handler>

<!--    开启注解驱动-->
    <mvc:annotation-driven></mvc:annotation-driven>

<!--    配置视图控制器,给一些不需要处理的路径一个view-name,以方便直接跳转-->
    <mvc:view-controller path="/" view-name="index"></mvc:view-controller>
    <mvc:view-controller path="/user/login" view-name="user/login"></mvc:view-controller>
    <mvc:view-controller path="/user/login/success" view-name="user/login_success"></mvc:view-controller>
    <mvc:view-controller path="/user/regist" view-name="user/regist"></mvc:view-controller>
    <mvc:view-controller path="/user/regist/success" view-name="user/regist_success"></mvc:view-controller>
    <mvc:view-controller path="/manager" view-name="manager/manager"></mvc:view-controller>
    <mvc:view-controller path="/manager/book" view-name="manager/book_manager"></mvc:view-controller>
    <mvc:view-controller path="/manager/order" view-name="manager/order_manager"></mvc:view-controller>
    <mvc:view-controller path="/edit/book" view-name="manager/book_edit"></mvc:view-controller>
    <mvc:view-controller path="/order" view-name="order/order"></mvc:view-controller>

</beans>

5.MyBatis

  • 一款半自动的ORM(Object Relationship Mapping)框架
  • 轻量级,性能出色
  • SQL和Java编码分开,功能边界清晰。Java代码专注业务、SQL语句专注数据
  • 开发效率稍逊于Hibernate,但是完全能够接受

  • 进入jar包下载网页点击这里这里主要是用到MyBatis的官方文档mybatis.pdf,里面有核心配置文件和映射文件的说明
  • 在maven中配置核心文件(主要用于配置连接数据库的环境以及MyBatis的全局配置信息)
<?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>

    <!--MyBatis核心配置文件中的标签必须要按照指定的顺序配置:
        properties?,settings?,typeAliases?,typeHandlers?,
        objectFactory?,objectWrapperFactory?,refLectorFactory?,
        plugins?,environments?,databaseIdProvider?,mappers?
    -->

<!--    加载properties文件-->
    <properties resource=""></properties>
    
    <settings>
<!--        将下划线映射成小驼峰-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

<!--    为类取别名,就不用写全类名。默认的别名为类名,不区分大小写-->
    <typeAliases>
        <package name=""/>
    </typeAliases>

<!--    配置连接数据库的环境,其中根据default属性选择相应的环境-->
    <environments default="development">
        <environment id="development">
<!--            transactionManager是用来说明事物管理的类型,type类型有JDBC和MANAGED,其中JDBC:使用JDBC中默认的事务管理机制,MANAGED:被管理的,例如交给Spring管理。-->
            <transactionManager type="JDBC"/>
<!--            dataSource用来设置数据源的类型,POOLED:使用数据库连接池,UNPOOLED:不使用数据库连接池,连接直接重新创建,JNDI:表示使用上下文当中的数据源(了解下)-->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

<!--    引入mybatis的映射文件-->
    <mappers>
        <package name=""/>
    </mappers>
</configuration>
  • 在maven中配置映射文件(主要用来说明如何操作数据库)
<?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">
<mapper namespace="">

</mapper>

最后一步、安装Git

  • Git主要用于开发过程中资源的版本控制,便于多人协同开发。

1.下载Git

下载Git的官方页面

2.安装Git

安装步骤

安装步骤

安装步骤
安装步骤
安装步骤
安装步骤
安装步骤
安装步骤
在这里插入图片描述
安装步骤
安装步骤
安装步骤

  • 后面直接全部默认,即可安装完成。

3.配置环境

1.设置user的name和email
在这里插入图片描述

2.新建一个git.ignore文件,文件内的代码如下,建议放在家目录下。
然后在.gitconfig文件中加上[core]标签(.gitconfig也是在家目录下)

[core]
	excludesfile = C:/Users/LNV/git.ignore

在这里插入图片描述
下面是一个.gitconfig的模板,也可以根据需求自己修改

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

hs_err_pid*

.classpath
.project
.settings
target
.idea
*.iml

4.常用命令

  • git安装后-指定名称和邮箱
$ git config --global user.name "Your Name"
 
$ git config --global user.email "[email protected]"
  • 删除根目录下的.git文件夹
$ find . -name ".git" | xargs rm -Rf

$ rm -rf .git
  • 创建版本库
$ mkdir learngit	//创建
$ cd learngit	//使用
$ pwd	//查看当前目录
$ git init	//初始化,生成.git文件(若该文件隐藏,则使用ls -ah)
  • 把文件添加add和提交commit到版本库
$ git add test.txt	//添加
$ git commit -m "wrote a test file"	//提交
$ git commit -m "add 3 files."		//一次性提交多个文件
  • 版本控制
$ git log	//查看提交历史记录,从最近到最远,可以看到3次
$ git log --pretty=oneline	//加参,简洁查看
$ git reflog	//查看每一次修改历史
$ cat test.txt	//查看文件内容
$ git status	//查看工作区中文件当前状态
$ git reset --hard HEAD^HEAD~100)(commit id)	//回退版本
$ git checkout -- test.txt	//丢弃工作区的修改,即撤销修改
$ git reset HEAD test.txt	//丢弃暂存区的修改(若已提交,则回退)
  • 删除文件
$ rm test.txt
//直接删除
$ git rm test.txt
$ git commit -m "remove test.txt"
//删错了,恢复
$ git checkout -- test.txt
  • 远程仓库
$ ssh-keygen -t rsa -C "[email protected]"	//创建SSH Key
$ git remote add origin git@github.com:Daisy/AKgit.git	//关联
$ git push -u origin master	//将本地内容推送到远程仓库(第一次)
$ git push origin master	//将本地内容推送到远程仓库(之后)
$ git remote -v        //查看远程仓库信息
$ git remote rm origin	//删除远程仓库(解绑)
$ git clone git@github.com: Daisy/AKgit.git	//克隆远程仓库
//克隆之后使用和查看
$ cd gitskills
$ ls
$ git remote	//查看远程库的信息
$ git remote -v	//查看远程库的详细信息
  • 多人协作
$ git checkout -b dev	//创建并切换到分支dev
//创建并切换到分支dev,同上
$ git branch dev	//创建
$ git checkout dev	//切换
//新版本
$ git switch -c dev	//创建并切换到分支dev
$ git switch master	//直接切换分支
$ git branch		//查看当前分支
$ git merge dev	(--no-ff)(-m)//合并,把dev分支的工作成果合并到master分支上
$ git branch -d dev	//删除dev分支 
$ git stash	//将现场储藏起来
$ git stash list	//查看储存的工作现场
//恢复和删除
$ git stash apply
$ git stash drop
//恢复并删除
$ git stash pop
$ git cherry-pick 4c805e2	//复制修改
$ git push origin master(dev)	//推送分支
$ git checkout -b dev origin/dev	//创建远程origin的dev分支到本地
$ git pull	//抓取分支(解决冲突)
$ git branch --set-upstream-to=origin/dev dev//指定本地与远程dev的链接
$ git rebase	//把本地未push的分叉提交历史整理成直线
  • 标签管理
$ git tag v1.0	//打标签
$ git tag -a v0.1 -m "version 0.1 released" 1094adb //指定标签名和说明文字
$ git tag	//查看所有标签
//若是忘记打,则查找历史提交commit id ,再打上
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 f52c633
$ git show v0.9		//查看标签详细信息
$ git tag -d v0.1	//删除标签
$ git push origin v1.0	//推送标签到远程
$ git push origin –tags	//一次性推送全部本地标签
//删除标签,(若已推送到远程,先从本地删除,从远程删除)
$ git tag -d v0.9
$ git push origin :refs/tags/v0.9 

5.集成到IDEA

详细请见文章点击这里

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/AINIDEMILUDAN/article/details/127345743

智能推荐

Docker 快速上手学习入门教程_docker菜鸟教程-程序员宅基地

文章浏览阅读2.5w次,点赞6次,收藏50次。官方解释是,docker 容器是机器上的沙盒进程,它与主机上的所有其他进程隔离。所以容器只是操作系统中被隔离开来的一个进程,所谓的容器化,其实也只是对操作系统进行欺骗的一种语法糖。_docker菜鸟教程

电脑技巧:Windows系统原版纯净软件必备的两个网站_msdn我告诉你-程序员宅基地

文章浏览阅读5.7k次,点赞3次,收藏14次。该如何避免的,今天小编给大家推荐两个下载Windows系统官方软件的资源网站,可以杜绝软件捆绑等行为。该站提供了丰富的Windows官方技术资源,比较重要的有MSDN技术资源文档库、官方工具和资源、应用程序、开发人员工具(Visual Studio 、SQLServer等等)、系统镜像、设计人员工具等。总的来说,这两个都是非常优秀的Windows系统镜像资源站,提供了丰富的Windows系统镜像资源,并且保证了资源的纯净和安全性,有需要的朋友可以去了解一下。这个非常实用的资源网站的创建者是国内的一个网友。_msdn我告诉你

vue2封装对话框el-dialog组件_<el-dialog 封装成组件 vue2-程序员宅基地

文章浏览阅读1.2k次。vue2封装对话框el-dialog组件_

MFC 文本框换行_c++ mfc同一框内输入二行怎么换行-程序员宅基地

文章浏览阅读4.7k次,点赞5次,收藏6次。MFC 文本框换行 标签: it mfc 文本框1.将Multiline属性设置为True2.换行是使用"\r\n" (宽字符串为L"\r\n")3.如果需要编辑并且按Enter键换行,还要将 Want Return 设置为 True4.如果需要垂直滚动条的话将Vertical Scroll属性设置为True,需要水平滚动条的话将Horizontal Scroll属性设_c++ mfc同一框内输入二行怎么换行

redis-desktop-manager无法连接redis-server的解决方法_redis-server doesn't support auth command or ismis-程序员宅基地

文章浏览阅读832次。检查Linux是否是否开启所需端口,默认为6379,若未打开,将其开启:以root用户执行iptables -I INPUT -p tcp --dport 6379 -j ACCEPT如果还是未能解决,修改redis.conf,修改主机地址:bind 192.168.85.**;然后使用该配置文件,重新启动Redis服务./redis-server redis.conf..._redis-server doesn't support auth command or ismisconfigured. try

实验四 数据选择器及其应用-程序员宅基地

文章浏览阅读4.9k次。济大数电实验报告_数据选择器及其应用

随便推点

灰色预测模型matlab_MATLAB实战|基于灰色预测河南省社会消费品零售总额预测-程序员宅基地

文章浏览阅读236次。1研究内容消费在生产中占据十分重要的地位,是生产的最终目的和动力,是保持省内经济稳定快速发展的核心要素。预测河南省社会消费品零售总额,是进行宏观经济调控和消费体制改变创新的基础,是河南省内人民对美好的全面和谐社会的追求的要求,保持河南省经济稳定和可持续发展具有重要意义。本文建立灰色预测模型,利用MATLAB软件,预测出2019年~2023年河南省社会消费品零售总额预测值分别为21881...._灰色预测模型用什么软件

log4qt-程序员宅基地

文章浏览阅读1.2k次。12.4-在Qt中使用Log4Qt输出Log文件,看这一篇就足够了一、为啥要使用第三方Log库,而不用平台自带的Log库二、Log4j系列库的功能介绍与基本概念三、Log4Qt库的基本介绍四、将Log4qt组装成为一个单独模块五、使用配置文件的方式配置Log4Qt六、使用代码的方式配置Log4Qt七、在Qt工程中引入Log4Qt库模块的方法八、获取示例中的源代码一、为啥要使用第三方Log库,而不用平台自带的Log库首先要说明的是,在平时开发和调试中开发平台自带的“打印输出”已经足够了。但_log4qt

100种思维模型之全局观思维模型-67_计算机中对于全局观的-程序员宅基地

文章浏览阅读786次。全局观思维模型,一个教我们由点到线,由线到面,再由面到体,不断的放大格局去思考问题的思维模型。_计算机中对于全局观的

线程间控制之CountDownLatch和CyclicBarrier使用介绍_countdownluach于cyclicbarrier的用法-程序员宅基地

文章浏览阅读330次。一、CountDownLatch介绍CountDownLatch采用减法计算;是一个同步辅助工具类和CyclicBarrier类功能类似,允许一个或多个线程等待,直到在其他线程中执行的一组操作完成。二、CountDownLatch俩种应用场景: 场景一:所有线程在等待开始信号(startSignal.await()),主流程发出开始信号通知,既执行startSignal.countDown()方法后;所有线程才开始执行;每个线程执行完发出做完信号,既执行do..._countdownluach于cyclicbarrier的用法

自动化监控系统Prometheus&Grafana_-自动化监控系统prometheus&grafana实战-程序员宅基地

文章浏览阅读508次。Prometheus 算是一个全能型选手,原生支持容器监控,当然监控传统应用也不是吃干饭的,所以就是容器和非容器他都支持,所有的监控系统都具备这个流程,_-自动化监控系统prometheus&grafana实战

React 组件封装之 Search 搜索_react search-程序员宅基地

文章浏览阅读4.7k次。输入关键字,可以通过键盘的搜索按钮完成搜索功能。_react search