使用Idea 2019构建Springboot+Mybatis项目(不做数据库交互)

利用闲余时间想自己搭建一个springboot+mybatis的项目,提升一下自己对项目的了解,毕竟自己还是一个小白,在这里为自己创建项目的过程做一个记录,以便以后回忆。同时将搭建中遇到的问题也在这里做记录。如有遇到同样问题的同学,希望能给你一下借鉴。
springboot的优势之一就是快速搭建项目,省去了自己导入jar包和配置xml的时间,使用非常方便。

1、创建项目

1、打开IDEA,点击File→New→Project…,如图1所示
在这里插入图片描述
2、当我们选择project…后,会看见如图2所示的页面,选择Spring Initializr,点击NEXT即可。
在这里插入图片描述
3、接下来将看到如图3所示的页面,在这个页面中我只是修改了名称。然后点击NEXT进行下一步。
在这里插入图片描述
4、然后进行下一步。会看见如图4所示的页面。 在当前页面中我们一次选择左侧的Web、Template Engines、SQL。然后在中间部分选择我们需要的选项,最终选择结果如最右侧所示。然后点击NEXT,进行下一步。
在这里插入图片描述
5、如图5所示,进人创建项目的最后一个页面,在这里我们可以修改项目保存的位置。确认自己输入的内容,点击Fiish即可完成项目的创建
在这里插入图片描述

2、添加配置文件

1、finish之后项目结构如下图所示

resources文件夹下,static文件夹下存放静态文件,比如css、js、html和图片等 。

templates下存放html文件,controller默认访问该文件夹下的html文件。

这个在application.properties配置文件中是可以修改的。
在这里插入图片描述
2、设计好数据库表

在这里插入图片描述
3、更换application.properties文件为application.yml文件,这个文件更加简洁好用(备注:其实SpringBoot底层会把application.yml文件解析为application.properties), 文件的内容如下(此处只配置最基本的):

server:
  port: 8080
spring:
  devtools:
    restart:
      enabled: true   #热部署
  datasource:
    #   数据源基本配置
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/xuan
    # type: com.alibaba.druid.pool.DruidDataSource
    #   数据源其他配置
    initialSize: 5    #连接池初始数量
    minIdle: 5        #最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
    maxActive: 20     #最大连接数
    maxWait: 60000    #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
    testWhileIdle: true #建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
    testOnBorrow: false #申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 默认true
    testOnReturn: false #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
    poolPreparedStatements: false #是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。

4、接下来尝试启动项目。发现项目可以正常启动了。可以打开浏览器访问http://localhost:8080/,访问结果如图12所示。证明项目正常启动了。
在这里插入图片描述
在这里插入图片描述

3、项目整合Mybatis生成实体等等文件

1、在application.yml文件中添加mybatis配置

server:
  port: 8080
spring:
  devtools:
    restart:
      enabled: true   #热部署
  datasource:
    #   数据源基本配置
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/xuan
    # type: com.alibaba.druid.pool.DruidDataSource
    #   数据源其他配置
    initialSize: 5    #连接池初始数量
    minIdle: 5        #最大空闲数,数据库连接的最大空闲时间。超过空闲时间,数据库连接将被标记为不可用,然后被释放。设为0表示无限制。
    maxActive: 20     #最大连接数
    maxWait: 60000    #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示
    testWhileIdle: true #建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
    testOnBorrow: false #申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。 默认true
    testOnReturn: false #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
    poolPreparedStatements: false #是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
    
    # mybatis
    mybatis:
      mapper-locations: classpath:mapper/*.xml  #注意:一定要对应mapper映射xml文件的所在路径
      type-aliases-package: com.xuan.entitys  # 注意:对应实体类的路径

2、在pom.xml中添加 mybatis generator 自动生成代码插件

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<!-- mybatis generator 自动生成代码插件 -->
			<plugin>
				<groupId>org.mybatis.generator</groupId>
				<artifactId>mybatis-generator-maven-plugin</artifactId>
				<version>1.3.1</version>
				<configuration>
					<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
					<overwrite>true</overwrite>
					<verbose>true</verbose>
				</configuration>
			</plugin>
		</plugins>
	</build>

3、在resource文件夹下创建generator文件夹,并在文件夹中创建generatorConfig.xml文件。文件内容如下(注意里面的配置要修改):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
    <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
    <classPathEntry  location="F:\repository\mysql\mysql-connector-java\5.1.36\mysql-connector-java-5.1.36.jar"/>
    <context id="DB2Tables"  targetRuntime="MyBatis3">
        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="false"/>
        </commentGenerator>
        <!--数据库连接驱动类,URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/xuan" userId="root" password="root">
        </jdbcConnection>
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成(实体)模型的包名和位置-->
        <javaModelGenerator targetPackage="com.example.xuan.entity" targetProject="src">
            <property name="enableSubPackages" value="true"/>
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成XML映射文件的包名和位置-->
        <sqlMapGenerator targetPackage="resources.mapper" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO接口的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="com.xuan.lipstick.mapper" targetProject="src">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="account" domainObjectName="account" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
    </context>
</generatorConfiguration>

4、所有文件创建完成后,还需要进行简单的配置。Run→Edit Configurations…,然后选择maven,配置Command line
在这里插入图片描述
5、所用文件创建完成,并配置好相关设置,重新启动项目,启动后运行generator。通过控制台可以看见代码是否生成成功,或失败的原因。如果代码生成成功,可以在项目文件夹中看见生成的项目文件,这个过程共生成三个文件,一个实体类,dao,还有sql语句。
在这里插入图片描述
6、生成成功的目录结构如图所示
在这里插入图片描述

4、写控制层尝试访问页面

1、写一个静态页面放在templates视图文件目录下
在这里插入图片描述
2、写一个控制层用来处理页面api请求

package com.example.demo;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping(value={"/xuan"})
public class IndexController {

    @RequestMapping(value="/index")
    public String show(){
        return "index";
    }

}

3、重新启动项目访问http://localhost:8080/xuan/index如下图所示
在这里插入图片描述

5、遇到困难可以评论(有信必回)小轩微信17382121839。

发布了47 篇原创文章 · 获赞 57 · 访问量 8890

猜你喜欢

转载自blog.csdn.net/qq_41741884/article/details/97271930