mysql數據庫環境搭建
- 下載並安裝mysql5.7版本
- 設置數據庫賬號密碼
- 創建數據庫mall
- 導入Mall數據庫腳本 https://github.com/macrozheng/mall-learning/blob/master/document/sql/mall.sql
項目使用框架介紹
SpringBoot
SpringBoot可以讓你快速構建基於Spring的Web應用程序,內置多種Web容器(如Tomcat),通過啓動入口程序的main函數即可運行。
PagerHelper
MyBatis分頁插件,簡單的幾行代碼就能實現分頁,在與SpringBoot整合時,只要整合了PagerHelper就自動整合了MyBatis。
PageHelper.startPage(pageNum, pageSize);
//之後進行查詢操作將自動進行分頁
List<PmsBrand> brandList = brandMapper.selectByExample(new PmsBrandExample());
//通過構造PageInfo對象獲取分頁信息,如當前頁碼,總頁數,總條數
PageInfo<PmsBrand> pageInfo = new PageInfo<PmsBrand>(list);
Druid
alibaba開源的數據庫連接池,號稱Java語言中最好的數據庫連接池。
Mybatis generator
MyBatis的代碼生成器,可以根據數據庫生成model、mapper.xml、mapper接口和Example,通常情況下的單表查詢不用再手寫mapper。
項目配置
項目依賴
pom.xml
<dependencies>
<!--SpringBoot通用依賴模塊-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!--MyBatis分頁插件-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
<!--集成druid連接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<!-- MyBatis 生成器 -->
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.3</version>
</dependency>
<!--Mysql數據庫驅動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.15</version>
</dependency>
</dependencies>
SpringBoot配置文件
server:
port: 8080
spring:
datasource:
url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: *********
mybatis:
mapper-locations:
- classpath:mapper/*.xml
- classpath*:com/**/mapper/*.xml
Mybatis 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>
<properties resource="generator.properties"/>
<context id="MySqlContext" targetRuntime="MyBatis3" defaultModelType="flat">
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<property name="javaFileEncoding" value="UTF-8"/>
<!-- 爲模型生成序列化方法-->
<plugin type="org.mybatis.generator.plugins.SerializablePlugin"/>
<!-- 爲生成的Java模型創建一個toString方法 -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
<!--可以自定義生成model的代碼註釋-->
<commentGenerator type="com.macro.mall.tiny.mbg.CommentGenerator">
<!-- 是否去除自動生成的註釋 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="true"/>
<property name="addRemarkComments" value="true"/>
</commentGenerator>
<!--配置數據庫連接-->
<jdbcConnection driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.connectionURL}"
userId="${jdbc.userId}"
password="${jdbc.password}">
<!--解決mysql驅動升級到8.0後不生成指定數據庫代碼的問題-->
<property name="nullCatalogMeansCurrent" value="true" />
</jdbcConnection>
<!--指定生成model的路徑-->
<javaModelGenerator targetPackage="com.macro.mall.tiny.mbg.model" targetProject="src/main/java"/>
<!--指定生成mapper.xml的路徑-->
<sqlMapGenerator targetPackage="com.macro.mall.tiny.mbg.mapper" targetProject="src/main/resources"/>
<!--指定生成mapper接口的的路徑-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.macro.mall.tiny.mbg.mapper"
targetProject="src/main/java"/>
<!--生成全部表tableName設爲%-->
<table tableName="%">
<generatedKey column="id" sqlStatement="MySql" identity="true"/>
</table>
</context>
</generatorConfiguration>
運行Generator的main函數生成代碼
自動生成相關代碼
Mapper Interface
Model Class
Mapper XML