文前说明:
此文为个人记录的快速创建springboot+mybatis+mysql环境的手记。里面不涉及原理解读,只是记录操作过程,能够最快速的搭建起能用的小环境,方便测试、小项目的开发。(好久不用容易忘记,故开此篇)
springboot2.7.7 + jdk1.8 + maven3.5版本。
一、eclipse添加springboot功能。
二、新建springboot starter project项目。
1、注意package字段,是主application类的位置。也是项目的住位置。packaging是,最终打包的形式。jar可以直接运行,war需要部署到tomcat等服务器。
2、还需要关注maven和java的版本,springboot2.7.7需要至少jdk1.8、maven3.5版本。
- 要添加如下feature:
其中,thymeleaf是页面模板引擎,可以方便参数传送到html页面中。
springboot devTools可以不重新服务器的情况下快速重新部署你的文件。其他不多说了。
三、application.properties主配置文件增加如下信息:
spring.profiles.active=development
server.port=9999
server.servlet.context-path=/
server.tomcat.uri-encoding=UTF-8
server.servlet.encoding.charset=UTF-8
server.servlet.encoding.force-response=true
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/spl?serverTimezone=Hongkong&useUnicode=true&useSSL=true&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=654321
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#默认的数据连接池
spring.datasource.hikari.minimum-idle=1
spring.datasource.hikari.maximum-pool-size=5
mybatis.mapper-locations[0]=classpath:mapper/.xml
mybatis.mapper-locations[1]=classpath:mapper/custom/.xml
mybatis.type-aliases-package=com.capp.busi
mybatis.configuration.local-cache-scope=session
这里设置目前环境为开发环境。另外增加两个文件:application-development.properties和application-production.properties。
development内的内容:
logging.level.root=info
logging.level.web=info
logging.level.com.capp=debug
logging.level.com.capp.busi.service=debug
logging.file.path=/spline_log/
=spline.log
application-production.properties的内容略。
四、错误处理:resources\templates\error\4xx.html
添加了thymeleaf就需要在resources\templates下创建错误页面,否则需要在resources\static下创建。
需要在resources\templates\error\下创建4xx.html和5xx.html文件。他的优先级低于404.html等具体的错误码文件。
内容参考:
<!DOCTYPE html><html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>访问出错</title><link rel="stylesheet" th:href="@{/css/error.css}"></link>
</head><div style="width:100%"><table><tr><td width="25%"></td>
<td width="50%"><div class="errorPage" align="center"><h2><span class="oops">出错了</span></h2><br/>
<img th:src="@{/img/MissingPage.png}" height="400"></img><p>您访问的页面出现错误:
(<span th:text="${path}"></span>).</p> <font color="RED"><span th:text="${'错误原因 :' + message}" style="font-color: #f00;"></span></font>
</div></td><td width="25%"><span th:text="${exception}"></span></td></tr></table></div></html>
五:mysql数据创建。
使用Navicat等工具,连接mysql数据库,然后根据项目需要建库、建表等。内容略。
六、mybatis-generator设置。
这个工具很强大,可以根据数据库表的结构,自动生成表对应java类、example类和相应的mybatis配置文件xml,单表操作极大简化,增删改查0代码实现,推荐使用。
- maven添加依赖:就在jdbc下添加就行:
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.7</version>
</dependency>
- 创建generatorConfig.xml配置文件。并设置好mysql的连接、库、表。
<?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="C:\Users\Administrator.m2\repository\com\mysql\mysql-connector-j\8.0.31\mysql-connector-j-8.0.31.jar" />
<context id="DB2Tables" targetRuntime="MyBatis3" defaultModelType="flat">
<!-- 数据库连接串 -->
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/spl?serverTimezone=Hongkong&useUnicode=true&useSSL=true&characterEncoding=utf8"
userId="root" password="654321">
<!-- 可以显示表的注释 -->
<property name="useInformationSchema" value="true" />
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- java bean的放置位置 -->
<javaModelGenerator targetPackage="com.capp.busi.po" targetProject="src/main/java">
<!-- 是否创建完之后末尾跟着schema名称。-->
<property name="enableSubPackages" value="true" />
<!-- getter方法是否要再加个trim() -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- mapper xml文件的位置 -->
<sqlMapGenerator targetPackage="com.capp.busi.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- mapper的java文件位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.capp.busi.mapper" targetProject="src/main/java">
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table schema="spl" tableName="spline" domainObjectName="SpLine"
enableCountByExample="true" enableUpdateByExample="true"
enableDeleteByExample="true" enableSelectByExample="true"
selectByExampleQueryId="true">
</table>
</context>
</generatorConfiguration>
- 加载刚才的配置文件,并生成具体的PO和POExample,mapper.java和mapper.xml文件。
- 根据自己的业务需要,比如多表查询,个性化业务查询,可以在mapper包下根据mybatis规则,创建自己需要的mapper业务和sql映射文件。如批量插入、多表查询的语句等。