通過上兩章可以進行項目搭建、基礎項目配置
本章我們主要是通過springboot+mybatis實現數據的插入和查詢,刪除和更新沒有具體實現,大家可以自己動手試一下
主意:這個demo沒有使用傳統的mapper.xml配置模式,引入了tk.mybatis,所以如果你是一個使用傳統mybatis的有可能有些差異,不過大同小異只不過是寫法不一樣而已。
1.管理創建項目、配置環境(只是一個小demo,沒有寫完整的配置信息,如果有需要完整配置大家可以看上一章的多環境配置信息)
主要列出了數據庫的配置信息、mybatis掃描xml(具體沒用用到)和實體的路徑了,由於配置項比較簡單就不貼代碼了
2.在項目啓動中定義掃描mapper目錄(考慮這個mapper和上面的xml配置是不是有些重複?大神可以評論一下)
3.創建我們的實體類和mapper文件
實體類,引入了lombok包,主要可以省略一些get、set操作,這個包還有更強大的功能,有需要的大家可以繼續嘗試一下發掘;
mapper bean 定義,一個簡單的操作,發現insert沒有返回添加的主鍵,還是單獨寫了一個獲取上一次插入id的方法,比較笨覺得,等待下個版本的demo升級吧。
4.爲了配合公司三層結構的規則,提前加了一層service,大家也可以不寫,不過建議還是通過controller調用service,再由service調用實際的mapper或者其他業務
定義了個接口,本想把這個接口定義成公共的一些操作,但是沒有特別好的想法(笨),先暫時這樣定義吧。。
service bean定義,並實現接口,進行實際的業務處理(就是簡單地查詢、插入。。。)
5.最後由控制器調用方法
最後貼出pom.xml的加載項
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.dreamplus</groupId> <artifactId>jdbc</artifactId> <version>0.0.1-SNAPSHOT</version> <name>jdbc</name> <description>springboot jdbc demo</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <!-- Spring Boot Web 依賴 --> <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>2.1.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- Spring Boot entity省略get、set --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version> <scope>provided</scope> </dependency> <!--mybatis通用mapper依賴--> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>2.0.2</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
這個裏面重點就是mysql、mysql連接池、mybatis、lombok、tk.mybatis(主要是有他的存在,纔可以不使用原始的xml定義方式,不過個人覺得還是不夠強大,等待後續挖掘吧)
通過這一章可以實現最起碼的業務開發,但是實際的業務還是要比這個繁瑣很多,包括異常處理、篩選器、返回數據統一等等,我們慢慢來完善它,就算整理到了線上的業務,也是有可以優化的,學無止境,沒有最好嘛。
下一章準備優化mapper的操作,感覺目前的操作過於囉嗦,寫一個相對完整的小業務出來。