大家都知道,现在Spring框架是非常流行,目前最新版本据说是Spring5,而常用的基本还是Spring4.X,很多公司甚至用的还是Spring3.x,而Spring领域其中最好用的莫过于SpringBoot,因为很好用,所以笔者闲暇之际用SpringBoot搭建了一个案例,分享出来,希望对感兴趣的朋友有所帮助。废话不说了,进入主题,直接分享案例搭建全流程。
本项目使用的环境:
开发工具:Intellij IDEA 2017.1.3
jdk:1.8.0_51
maven:3.5.2
额外功能
mybatis generator 自动生成代码插件
步骤:
(1)、创建一个springboot项目;
(2)、 选择项目所需要的依赖;
(3)、选择持久化框架的依赖;
项目结构如下:
而具体的代码如下:
/*pom.xml*/
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<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.2</version>
<configuration>
<!-- 自动生成的配置 -->
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<!-- 是否覆盖 -->
<overwrite>true</overwrite>
<!--允许移动生成的文件 -->
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
本例不使用application.properties文件而使用更加简洁的application.yml文件,将resource文件夹下原有的application.properties文件更改成application.yml(备注:其实SpringBoot底层会把application.yml文件解析为application.properties)
server:
port: 8080
spring:
datasource:
name: MySQL
url: jdbc:mysql://127.0.0.1:3306/shop
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
mybatis:
mapper-locations: classpath:mapping/*Mapper.xml
type-aliases-package: com.example.springboot.pojo
在resources目录下新建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="C:\Program Files (x86)\MySQL\Connector.J 5.1\mysql-connector-java-5.1.38-bin.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:3306/shop"
userId="root" password="root">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- 生成(实体)模型的包名和位置-->
<javaModelGenerator targetPackage="com.example.springboot.pojo" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成XML映射文件的包名和位置-->
<sqlMapGenerator targetPackage="resources.mapping" targetProject="src/main">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- 生成DAO接口的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.example.springboot.dao" targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 对应数据库表 mysql可以加入主键自增 字段命名 忽略某字段等 domainObjectName是实体类名-->
<table tableName="user_info" domainObjectName="UserInfo" enableCountByExample="false"
enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
在mysql(此处用DbVisualizer客户端)下创建数据库shop,新建数据表user_Info
CREATE TABLE
USER_INFO
(
USER_ID INTEGER(2) AUTO_INCREMENT NOT NULL,
USER_NAME VARCHAR(4) NOT NULL,
PHONE VARCHAR(18) NOT NULL,
SEX VARCHAR(1) NOT NULL,
PRIMARY KEY (USER_ID)
);
自动生成代码:点击run----> Edit Configurations
然后运行generator,最后生成的项目结构:
package com.example.springboot;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@SpringBootApplication
@MapperScan("com.example.springboot.dao") //添加上
@ComponentScan(basePackages = {"com.example.springboot.*"}) //添加上
public class SpringbootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootApplication.class, args);
System.out.println("启动成功");
}
}
【注】如果generatorConfig.xml在开头"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"处报错,则可以点击File–> settings
,如果pom.xml中generator处报错,则可以点击MavenProjects–>项目名–>Reimport即可。