SpringBoot 零基礎學習過程(三)mybatis數據庫簡單操作

通過上兩章可以進行項目搭建、基礎項目配置

本章我們主要是通過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的操作,感覺目前的操作過於囉嗦,寫一個相對完整的小業務出來。

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章