小D課堂 - 零基礎入門SpringBoot2.X到實戰_第8節 數據庫操做之整合Mybaties和事務講解_3三、SpringBoot2.x整合Mybatis3.x註解實戰

筆記


二、SpringBoot2.x整合Mybatis3.x註解實戰
    簡介:SpringBoot2.x整合Mybatis3.x註解配置實戰

        一、使用starter, maven倉庫地址:http://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter

        二、加入依賴(能夠用 http://start.spring.io/ 下載)
                    
            <!-- 引入starter-->
                    <dependency>
                        <groupId>org.mybatis.spring.boot</groupId>
                        <artifactId>mybatis-spring-boot-starter</artifactId>
                        <version>1.3.2</version>
                        <scope>runtime</scope>                
                    </dependency>
                     
             <!-- MySQL的JDBC驅動包    -->    
                     <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <scope>runtime</scope>
                    </dependency> 
            <!-- 引入第三方數據源 -->        
                    <dependency>
                        <groupId>com.alibaba</groupId>
                        <artifactId>druid</artifactId>
                        <version>1.1.6</version>
                    </dependency>

        三、加入配置文件
            #mybatis.type-aliases-package=net.xdclass.base_project.domain
            #能夠自動識別
            #spring.datasource.driver-class-name =com.mysql.jdbc.Driver

            spring.datasource.url=jdbc:mysql://localhost:3306/movie?useUnicode=true&characterEncoding=utf-8
            spring.datasource.username =root
            spring.datasource.password =password
            #若是不使用默認的數據源 (com.zaxxer.hikari.HikariDataSource)
            spring.datasource.type =com.alibaba.druid.pool.DruidDataSource

        加載配置,注入到sqlSessionFactory等都是springBoot幫咱們完成

        四、啓動類增長mapper掃描
            @MapperScan("net.xdclass.base_project.mapper")

             技巧:保存對象,獲取數據庫自增id 
             @Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id")

        四、開發mapper
            參考語法 http://www.mybatis.org/mybatis-3/zh/java-api.html

        五、sql腳本
            CREATE TABLE `user` (
              `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
              `name` varchar(128) DEFAULT NULL COMMENT '名稱',
              `phone` varchar(16) DEFAULT NULL COMMENT '用戶手機號',
              `create_time` datetime DEFAULT NULL COMMENT '建立時間',
              `age` int(4) DEFAULT NULL COMMENT '年齡',
              PRIMARY KEY (`id`)
            ) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8;


        相關資料:
        http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/#Configuration

        https://github.com/mybatis/spring-boot-starter/tree/master/mybatis-spring-boot-samples

        整合問題集合:
            https://my.oschina.net/hxflar1314520/blog/1800035
            https://blog.csdn.net/tingxuetage/article/details/80179772html

開始

這裏用註解的方式,由於比較簡單,

mapper:數據庫接口,訪問數據庫那一層的接口
service:業務邏輯
util:工具類

user類

自動生成項目的形式


通常不用最新版本 可能會有bug



數據源通常用阿里巴巴的druid數據源。把下面三個依賴都加進去


熱部署也加進來了

加入配置文件

默認的數據庫鏈接池。若是把Druid這個阿里巴巴的註釋掉。就會用默認的了
這裏鏈接的是movie數據庫下的user表
java

啓動類加上掃描對應的包

掃描的是mapper這個包下 mapper至關於dao層

複製mapper裏面的類的完整包名






mapper的開發能夠參考官方文檔





這裏的主鍵是自增的

拿到自增的id

service就是一個接口,裏面定義方法

service的實現類。getId就是增長後獲取到的主鍵id

Service的實現類記得用@Service的註解
mysql

controller


測試

啓動程序
code返回的是0。data是45,data是主鍵的id

再保存一個就是46

數據庫內保存了46的數據
git

相關的資料

相關資料:
        http://www.mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/#Configuration

        https://github.com/mybatis/spring-boot-starter/tree/master/mybatis-spring-boot-samples

        整合問題集合:
            https://my.oschina.net/hxflar1314520/blog/1800035
            https://blog.csdn.net/tingxuetage/article/details/80179772github

相關文章
相關標籤/搜索