SpringBoot学习笔记一之本地环境基础搭建

工程创建

Maven创建工程

搜索maven找到project的创建

创建simple project

填写group和artifact

项目

继续创建Module

选择Module

填写信息

选择war

项目出现

如果出现下面的错误

web.xml is missing and is set to true

是因为缺少文件,按照下面的操作解决就可以

继续创建Module,直接finish就可以了,分别创建四个Module

learn-admin-component

learn-admin-entity

完成后

再创建两个maven project:

learn-common-util

learn-common-reverse

全部创建完的工程

建立工程之间的依赖关系

learn-admin-webui 依赖 learn-admin-component

learn-admin-component 依赖 learn-common-util

learn-admin-component 依赖 learn-admin-entity

操作方式:

learn-admin-webui 依赖 learn-admin-component


搜索component,选择我们需要的component上面的groupid会自动出现

就可以看到了

同样的方式完成下面的依赖

learn-admin-component 依赖 learn-common-util

learn-admin-component 依赖 learn-admin-entity

创建数据库和数据库表

CREATE DATABASE `project_learn` CHARACTER SET utf8;

USE project_learn;

DROP TABLE IF EXISTS t_admin;

CREATE TABLE t_admin

(

id INT NOT NULL AUTO_INCREMENT, # 主键

login_acct VARCHAR(255) NOT NULL, # 登录账号

user_pswd CHAR(32) NOT NULL, # 登录密码

user_name VARCHAR(255) NOT NULL, # 昵称

email VARCHAR(255) NOT NULL, # 邮件地址

create_time CHAR(19), # 创建时间

PRIMARY KEY (id)

);

基于Maven的MyBatis逆向工程

在learn-common-reverse的pom文件中添加下面的内容

<!-- 依赖 MyBatis 核心包 -->

<dependencies>
         <dependency>
         <groupId>org.mybatis</groupId>
         <artifactId>mybatis</artifactId>
         <version>3.2.8</version>
         </dependency>
</dependencies>

再将下面的内容依次添加

开始构建标签

构建过程中用到的插件

具体插件

填写插件

填写插件依赖

下面是配置内容

<!-- 控制 Maven 在构建过程中相关配置 -->
<build>
<!-- 构建过程中用到的插件 -->
<plugins>
<!-- 具体插件,逆向工程的操作是以构建过程中插件形式出现的 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.0</version>
<!-- 插件的依赖 -->
<dependencies>
<!-- 逆向工程的核心依赖 -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.2</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.2</version>
</dependency>
<!-- MySQL 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.8</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>

创建配置文件generatorConfig.xml

将下面的信息填入

<!DOCTYPE generatorConfiguration
         PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
         "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
         <!-- mybatis-generator:generate -->
         <context id="atguiguTables" targetRuntime="MyBatis3">
                  <commentGenerator>
                          <!-- 是否去除自动生成的注释 true:是;false:否 -->
                          <property name="suppressAllComments" value="true" />
                  </commentGenerator>
                  <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
                  <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                                                     connectionURL="jdbc:mysql://localhost:3306/project_learn"
                                                     userId="root"
                                                     password="">
                  </jdbcConnection>
                  <!-- 默认 false,把 JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true 时把JDBC DECIMAL和 NUMERIC 类型解析为 java.math.BigDecimal -->
                  <javaTypeResolver>
                          <property name="forceBigDecimals" value="false" />
                  </javaTypeResolver>
                  <!-- targetProject:生成 Entity 类的路径 -->
                  <javaModelGenerator targetProject=".\src\main\java" targetPackage="com.xlgl.wzy.entity">
                          <!-- enableSubPackages:是否让 schema 作为包的后缀 -->
                          <property name="enableSubPackages" value="false" />
                          <!-- 从数据库返回的值被清理前后的空格 -->
                          <property name="trimStrings" value="true" />
                  </javaModelGenerator>
                  <!-- targetProject:XxxMapper.xml 映射文件生成的路径 -->
                  <sqlMapGenerator targetProject=".\src\main\java" targetPackage="com.xlgl.wzy.mapper">
                          <!-- enableSubPackages:是否让 schema 作为包的后缀 -->
                          <property name="enableSubPackages" value="false" />
                  </sqlMapGenerator>
                  <!-- targetPackage:Mapper 接口生成的位置 -->
                  <javaClientGenerator type="XMLMAPPER" targetProject=".\src\main\java" targetPackage="com.xlgl.wzy.mapper">
                          <!-- enableSubPackages:是否让 schema 作为包的后缀 -->
                          <property name="enableSubPackages" value="false" />
                  </javaClientGenerator>
                  <!-- 数据库表名字和我们的 entity 类对应的映射指定 -->
                  <table tableName="t_admin" domainObjectName="Admin" />
         </context>
</generatorConfiguration>

完成配置

注意更改数据库

执行逆向生成操作的 Maven 命令

mybatis-generator:generate

进入操作界面

添加命令,执行run

观察信息出现success

这个时候刷新项目就可以看到自动生成的一些文件

里面的一些内容我们补充完成

首先是实体类的构造器,无参、有参和toString,都自动生成就可以

然后将生成的数据放到对应的位置

将learn-common-reverse中的entity目录移动到learn-admin-entity

移动完后

将learn-common-reverse中的AdminMapper.xml文件移动到learn-admin-webui

在learn-admin-webui的resources目录下创建下面的结构,然后将AdminMapper.xml移动过来

移动完后

将learn-common-reverse中的AdminMapper.javal文件移动到learn-admin-component

AdminMapper.java中有个错误,是param缺少jar包,将之前mybatis的配置放到pom中

加入配置

父工程依赖管理

版本声明

<properties>
         <!-- 声明属性,对 Spring 的版本进行统一管理 -->
         <spring.version>4.3.20.RELEASE</spring.version>
         <!-- 声明属性,对 SpringSecurity 的版本进行统一管理 -->
         <spring.security.version>4.2.10.RELEASE</spring.security.version>
</properties>

配置到parent中pom.xml中

依赖管理,配置信息因为太长我们放到文档最后(ctrl+shift+f可以格式化)

Parent中pom的依赖管理配置信息

<dependencyManagement>
                  <dependencies>
                          <!-- Spring 依赖 -->
                          <dependency>
                                   <groupId>org.springframework</groupId>
                                   <artifactId>spring-orm</artifactId>
                                   <version>${spring.version}</version>
                          </dependency>
                          <dependency>
                                   <groupId>org.springframework</groupId>
                                   <artifactId>spring-webmvc</artifactId>
                                   <version>${spring.version}</version>
                          </dependency>
                          <dependency>
                                   <groupId>org.springframework</groupId>
                                   <artifactId>spring-test</artifactId>
                                   <version>${spring.version}</version>
                          </dependency>
                          <dependency>
                                   <groupId>org.aspectj</groupId>
                                   <artifactId>aspectjweaver</artifactId>
                                   <version>1.9.2</version>
                           </dependency>
                          <dependency>
                                   <groupId>cglib</groupId>
                                   <artifactId>cglib</artifactId>
                                   <version>2.2</version>
                          </dependency>
                          <!-- 数据库依赖 -->
                          <!-- MySQL 驱动 -->
                          <dependency>
                                   <groupId>mysql</groupId>
                                   <artifactId>mysql-connector-java</artifactId>
                                   <version>5.1.3</version>
                          </dependency>
                          <!-- 数据源 -->
                          <dependency>
                                   <groupId>com.alibaba</groupId>
                                   <artifactId>druid</artifactId>
                                   <version>1.0.31</version>
                          </dependency>
                          <!-- MyBatis -->
                          <dependency>
                                   <groupId>org.mybatis</groupId>
                                   <artifactId>mybatis</artifactId>
                                   <version>3.2.8</version>
                          </dependency>
                          <!-- MyBatis 与 Spring 整合 -->
                          <dependency>
                                   <groupId>org.mybatis</groupId>
                                   <artifactId>mybatis-spring</artifactId>
                                   <version>1.2.2</version>
                          </dependency>
                          <!-- MyBatis 分页插件 -->
                          <dependency>
                                   <groupId>com.github.pagehelper</groupId>
                                   <artifactId>pagehelper</artifactId>
                                   <version>4.0.0</version>
                          </dependency>
                          <!-- 日志 -->
                          <dependency>
                                   <groupId>org.slf4j</groupId>
                                   <artifactId>slf4j-api</artifactId>
                                   <version>1.7.7</version>
                          </dependency>
                          <dependency>
                                   <groupId>ch.qos.logback</groupId>
                                   <artifactId>logback-classic</artifactId>
                                   <version>1.2.3</version>
                          </dependency>
                          <!-- 其他日志框架的中间转换包 -->
                          <dependency>
                                   <groupId>org.slf4j</groupId>
                                   <artifactId>jcl-over-slf4j</artifactId>
                                   <version>1.7.25</version>
                          </dependency>
                          <dependency>
                                   <groupId>org.slf4j</groupId>
                                   <artifactId>jul-to-slf4j</artifactId>
                                   <version>1.7.25</version>
                          </dependency>
                          <!-- Spring 进行 JSON 数据转换依赖 -->
                          <dependency>
                                   <groupId>com.fasterxml.jackson.core</groupId>
                                   <artifactId>jackson-core</artifactId>
                                   <version>2.9.8</version>
                          </dependency>
                          <dependency>
                                   <groupId>com.fasterxml.jackson.core</groupId>
                                   <artifactId>jackson-databind</artifactId>
                                   <version>2.9.8</version>
                          </dependency>
                          <!-- JSTL 标签库 -->
                          <dependency>
                                   <groupId>jstl</groupId>
                                   <artifactId>jstl</artifactId>
                                   <version>1.2</version>
                          </dependency>
                          <!-- junit 测试 -->
                          <dependency>
                                   <groupId>junit</groupId>
                                   <artifactId>junit</artifactId>
                                   <version>4.12</version>
                                   <scope>test</scope>
                          </dependency>
                          <!-- 引入 Servlet 容器中相关依赖 -->
                          <dependency>
                                   <groupId>javax.servlet</groupId>
                                   <artifactId>servlet-api</artifactId>
                                   <version>2.5</version>
                                   <scope>provided</scope>
                          </dependency>
                          <!-- JSP 页面使用的依赖 -->
                          <dependency>
                                   <groupId>javax.servlet.jsp</groupId>
                                   <artifactId>jsp-api</artifactId>
                                   <version>2.1.3-b06</version>
                                   <scope>provided</scope>
                          </dependency>
                          <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
                          <dependency>
                                   <groupId>com.google.code.gson</groupId>
                                   <artifactId>gson</artifactId>
                                   <version>2.8.5</version>
                          </dependency>
                          <!-- SpringSecurity 对 Web 应用进行权限管理 -->
                          <dependency>
                                   <groupId>org.springframework.security</groupId>
                                   <artifactId>spring-security-web</artifactId>
                                   <version>4.2.10.RELEASE</version>
                          </dependency>
                          <!-- SpringSecurity 配置 -->
                          <dependency>
                                   <groupId>org.springframework.security</groupId>
                                   <artifactId>spring-security-config</artifactId>
                                   <version>4.2.10.RELEASE</version>
                          </dependency>
                          <!-- SpringSecurity 标签库 -->
                          <dependency>
                                   <groupId>org.springframework.security</groupId>
                                   <artifactId>spring-security-taglibs</artifactId>
                                   <version>4.2.10.RELEASE</version>
                          </dependency>
                  </dependencies>
         </dependencyManagement>
 
举报
评论 0