1.配置pom.xml文件java
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.boot</groupId> <artifactId>demo</artifactId> <packaging>jar</packaging> <version>0.0.1-SNAPSHOT</version> <name>demo Maven Webapp</name> <url>http://maven.apache.org</url> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.8.RELEASE</version> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.7</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- mysql數據庫 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.35</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.datatype</groupId> <artifactId>jackson-datatype-joda</artifactId> </dependency> <!-- 分頁插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.1.2</version> </dependency> <!-- alibaba的druid數據庫鏈接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.11</version> </dependency> </dependencies> <build> <finalName>demo_boot</finalName> <plugins> <!-- maven打包成jar插件 --> <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.5</version> <!-- 若是不配置這段,在項目package或者install時會自動執行 mybatis-generator:generate 命令--> <executions> <execution> <id>Generate MyBatis Artifacts</id> <phase>deploy</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <dependencies> <!--配置這個依賴主要是爲了等下在配置mybatis-generator.xml的時候能夠不用配置classPathEntry這樣的一個屬性,避免代碼的耦合度過高 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.44</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>3.4.0</version> </dependency> </dependencies> <executions> <execution> <id>Generate MyBatis Artifacts</id> <phase>package</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <!--容許移動生成的文件 --> <verbose>true</verbose> <!-- 是否覆蓋 --> <overwrite>true</overwrite> <!-- 自動生成的配置 --> <configurationFile>src/main/resources/generator/generatorConfig.xml</configurationFile> </configuration> </plugin> </plugins> </build> </project>
2.配置generatorConfig.xml文件(與pom.xml中配置的mybatis-generator-maven-plugin插件configurationFile屬性路徑保持一致)mysql
注意:此配置文件中不能存在註釋,不然沒法正常解析git
<?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> <!-- 數據庫驅動:選擇你的本地硬盤上面的數據庫驅動包 --> <!-- 在pom.xml plugin org.mybatis.generator 中配置了mysql-connector依賴 此處不須要配置驅動包 --> <!-- <classPathEntry location="E:\developer\mybatis-generator-core-1.3.2\lib\mysql-connector-java-5.1.25-bin.jar"/> --> <context id="DB2Tables" targetRuntime="MyBatis3"> <commentGenerator> <property name="suppressDate" value="true"/> <!-- 是否去除自動生成的註釋 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <!--數據庫連接URL,用戶名、密碼 --> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/test" userId="root" password=""> </jdbcConnection> <javaTypeResolver> <property name="forceBigDecimals" value="false"/> </javaTypeResolver> <!-- 生成模型的包名和位置--> <javaModelGenerator targetPackage="com.antong.dao.model.permisson" targetProject="src/main/java"> <property name="enableSubPackages" value="true"/> <property name="trimStrings" value="true"/> </javaModelGenerator> <!-- 生成XML映射文件的包名和位置--> <sqlMapGenerator targetPackage="mapping.permisson" targetProject="src/main/resources"> <property name="enableSubPackages" value="true"/> </sqlMapGenerator> <!-- 生成DAO的包名和位置--> <javaClientGenerator targetPackage="com.antong.dao.mapper.permisson" targetProject="src/main/java" type="XMLMAPPER"> <property name="enableSubPackages" value="true"/> </javaClientGenerator> <!-- 要生成的表 tableName是數據庫中的表名或視圖名 domainObjectName是實體類名--> <table tableName="t_user" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table> </context> </generatorConfiguration>
3.配置application.yml文件github
<!-- alibaba的druid數據庫鏈接池 若是使用druid數據源,必須添加druid依賴,不然會提示異常 web
Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
-->spring
<dependency>sql
<groupId>com.alibaba</groupId>數據庫
<artifactId>druid-spring-boot-starter</artifactId>apache
<version>1.1.0</version>springboot
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.11</version>
</dependency>
server: #服務器端口 port: 8080 spring: datasource: name: test # 數據庫鏈接串 url: jdbc:mysql://dbip:3306/dbname # 數據庫用戶 username: dbuser # 數據庫密碼 password: dbpassword # 使用druid數據源 type: com.alibaba.druid.pool.DruidDataSource # 數據庫驅動類 driver-class-name: com.mysql.jdbc.Driver filters: stat maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: select 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20 mybatis: #配置mapping.xml路徑 mapper-locations: classpath:mapping/*.xml #配置model包路徑 type-aliases-package: com.boot.model #pagehelper分頁插件 pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql
4.工程啓動類
右鍵 run as > java application便可啓動工程
package com.boot; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; /** * @Title: Application.java * @Package core * @Description: TODO(應用啓動類) * @author tuozq * @date 2017年11月22日 上午10:55:03 * @version V1.0 */ @SpringBootApplication//即@Configuration,@EnableAutoConfiguration,@ComponentScan @MapperScan("com.boot.mapper")//掃描mapper public class Application { public static void main(String[] args) { // TODO Auto-generated method stub SpringApplication.run(Application.class, args); } }
Application須要放在根目錄下
5.經過mybatis generator 自動生成代碼插件生成**mapper.java、**mapper.xml、**model.java
打開debug Configurations...,選擇Maven Build新增
Golas : mybatis-generator:generate
Dubug運行便可經過generatorConfig.xml的配置自動生成mapper文件。
controller和service不作舉例。。。
打包好的jar包,能夠直接雙擊啓動,或者經過命令 java -jar myproject.jar 啓動
6.打包成可執行的jar包
pom.xml中packaging屬性設置爲jar,plugin節點添加以下配置:
<!-- maven打包成jar插件 --> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
7.註解描述
@RestController註解至關於@ResponseBody + @Controller合在一塊兒的做用。
1)若是隻是使用@RestController註解Controller,則Controller中的方法沒法返回jsp頁面,配置的視 圖 解析器InternalResourceViewResolver不起做用,返回的內容就是Return 裏的內容。
例如:原本應該到success.jsp頁面的,則其顯示success.
2)若是須要返回到指定頁面,則須要用 @Controller配合視圖解析器InternalResourceViewResolver才行。
3)若是須要返回JSON,XML或自定義mediaType內容到頁面,則須要在對應的方法上加上@ResponseBody註解。
@SpringBootApplication註解,它包括三個註解:
1)@Configuration:表示將該類做用springboot配置文件類。
2)@EnableAutoConfiguration:表示程序啓動時,自動加載springboot默認的配置。
3)@ComponentScan:表示程序啓動是,自動掃描當前包及子包下全部類。