從零開始學SpringBoot2.x(12-SpringBoot中使用Mybatis(註解篇))

在之前的兩篇文章與大家簡單分享了一下在SpringBoot應用中如何使用JPA操作數據庫,但在我們的實際開發中,JPA用的相對較少,雖然其上手異常簡單,但想要執行高效的SQL語句還是有一定的學習難度的。今天與大家介紹如何使用Mybatis(使用註解書寫SQL語句)。

 

不多廢話!

 

1、老老的規矩!先看pom文件,如下

<dependencies>
        <!-- mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!-- mysql驅動-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <!-- druid連接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.0.9</version>
        </dependency>
        <!-- 測試組件-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

 

2、配置文件application.yml


spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mybatis?&characterEncoding=utf-8&useSSL=false #數據庫的連接信息
    driver-class-name: com.mysql.jdbc.Driver #數據庫驅動
    username: root #數據庫的用戶名
    password: 123456 #數據庫的密碼
    type: com.alibaba.druid.pool.DruidDataSource #使用druid連接池
mybatis:
  configuration:
    map-underscore-to-camel-case: true #開啓mybatis駝峯轉下劃線命名規則規則

 

註釋我都寫裏面啦~

 

3、創建用於測試的User實體類


@Data
public class User {

    private Long id;

    private String userName;
}

4、測試用的UserMapper


public interface UserMapper {

    @Select("select * from tb_user where id = #{id}")
    public User getUserById(long id);
}

可以看到,這個藉口裏面只有一個方法,方法上註解中的內容相信大家都不陌生,我就不過多描述了。

 

5、啓動類

 


@SpringBootApplication
@MapperScan("com.xiao.mapper")
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

注意:啓動類上要添加@MapperScan註解,這也是最容易忘記的地方,在這裏稍做強調!

 

6、創建UserMapper的測試類UserMapperTest



@RunWith(SpringRunner.class)
@SpringBootTest
public class UserMapperTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void getUserById(){
        User user = userMapper.getUserById(1L);
        System.out.println(user);
        Assert.assertNotNull(user);
    }

}

不會進行單元測試?傳送門

 

7、最終工程目錄如下

 

 

8、數據庫信息如下

 

 

9、啓動測試類,觀察我們的控制檯日誌輸出

 

 

可以看到,數據已經被成功的查詢打印出來!

 

是不是也很簡單呢!

 

 

源碼鏈接:

https://github.com/devilyang123/SpringBoot-Learning/tree/master/springboot-mybatis-annotation

 

 

 


歡迎關注我的個人公衆號“笑笑是一個碼農”,第一時間獲取最新文章。

您的關注,就是支持我持續寫作的最大動力!

還可以免費領取前後端全站學習視頻資料呦~

個人微信號,如需添加微信,請備註來源,因爲媽媽從小就告訴我不要隨便跟陌生人聊天!(嘿嘿~)

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