備註:全部項目都在idea中建立java
1-1: 刪除src
,target
目錄,只保留pom.xml
mysql
1-2: 根目錄pom.xml
可被子模塊繼承,所以項目只是demo,未考慮太多性能問題,因此將諸多依賴git
都寫在根級`pom.xml`,子模塊只需繼承就能夠使用。
1-3: 根級pom.xml
文件在附錄1github
1-4: 依賴模塊 mybatis spring-boot相關模塊web
2-1: file > new > module
輸入 model
spring
2-2: file > new > module
輸入 dao
sql
2-3: file > new > module
輸入 service
數據庫
2-4: file > new > module
輸入 webapi
apache
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"> <parent> <artifactId>parent</artifactId> <groupId>com.luyh.projectv1</groupId> <version>1.0-SNAPSHOT</version> <relativePath>../pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>projectv1-model</artifactId> </project>
注意:<font color="red"><relativePath>../pom.xml</relativePath>
</font>此段必須加上,用來繼承父模塊json
至此,項目的基礎結構搭建完畢了,接下來能夠來擼代碼了,哦哦稍等,我先介紹下各個子module的工做職責吧
model
此模塊存放着全部的實體類
dao
此模塊存放着數據交互的具體實現,供service調用
service
此模塊存放業務代碼實現,供API層調用
webapi
此模塊也能夠不出如今項目中,爲了寫demo故將webapi層放進來
model
層實體類編寫創建包名 com.luyh.projectv1.model
建實體類 Member.java
具體代碼請clone個人git,git地址在最下方
dao
層數據庫操做層創建com.luyh.projectv1.dao.config,該包內只有2個讓spring boot自動加載配置的配置java類
創建MemberMapper.java 具體內容看代碼
在resources/mybatis 下創建MemberMapper.xml
創建IMember.java
創建Member.java 實現Imember接口
創建resources/application.properties文件用於配置數據庫鏈接
service
編寫業務邏輯創建 com.luyh.projectv1.service
包
創建IMemberService.java接口
創建MemberService.java實現類
MemberService.java 類中自動注入DaoMember 並調用其方法獲取數據
webapi
編寫webapi獲取json數據創建Application.java 啓動應用
創建 com.luyh.projectv1.webapi.controller.MemberController.java
寫個rest風格Controller
啓動
<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.luyh.projectv1</groupId> <artifactId>parent</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.3.RELEASE</version> </parent> <modules> <module>model</module> <module>dao</module> <module>service</module> <module>webapi</module> </modules> <!--申明依賴關係--> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.2</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.8</version> </dependency> <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-jdbc</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies> <!--設置maven倉庫--> <repositories> <repository> <id>spring-releases</id> <url>https://repo.spring.io/libs-release</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-releases</id> <url>https://repo.spring.io/libs-release</url> </pluginRepository> </pluginRepositories> </project>