最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis 簡單啟動過程入門詳解

 更新時間:2025年03月19日 09:22:34   作者:鴿鴿程序猿  
MyBatis是一個持久層框架,簡化JDBC操作,SpringBoot集成MyBatis,通過創(chuàng)建項目、準備數(shù)據(jù)、配置文件、實體類和接口,可以實現(xiàn)數(shù)據(jù)庫操作,使用@Mapper和@Select注解簡化接口實現(xiàn),測試類使用@SpringBootTest和@Test注解啟動,本文介紹Mybatis啟動過程,感興趣的朋友一起看看吧

一、Mybatis簡介

Mybatis是一個操作數(shù)據(jù)庫驅動的持久層框架,用來簡化JDBC操作的,SpringBoot集成了這個框架。

MyBatis本是 Apache的?個開源項?iBatis,2010年這個項?由apache遷移到了google code,并且改名為MyBatis。2013年11?遷移到Github.

二、MyBatis??

2.1 創(chuàng)建項目

在前面跟我們前面創(chuàng)建的SpringBoot項目一樣,只有在選擇依賴的時候要多選擇SQL下的Mybatis Framework和MySQL Driver

2.2 準備數(shù)據(jù)

直接使用下面準備的數(shù)據(jù)庫數(shù)據(jù)即可:

  • 創(chuàng)建一個mybatis_test的數(shù)據(jù)庫
  • 該庫中含有user_info和article_info兩張表
  • user_info表中有主鍵id,username等等信息
  • article_info表中有主鍵id,title等等信息
-- 創(chuàng)建數(shù)據(jù)庫
DROP DATABASE IF EXISTS mybatis_test;
CREATE DATABASE mybatis_test DEFAULT CHARACTER SET utf8mb4;
-- 使用數(shù)據(jù)數(shù)據(jù)
USE mybatis_test;
-- 創(chuàng)建表[用戶表]
DROP TABLE IF EXISTS user_info;
CREATE TABLE `user_info` (
        `id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
        `username` VARCHAR ( 127 ) NOT NULL,
        `password` VARCHAR ( 127 ) NOT NULL,
        `age` TINYINT ( 4 ) NOT NULL,
        `gender` TINYINT ( 4 ) DEFAULT '0' COMMENT '1-男 2-女 0-默認',
        `phone` VARCHAR ( 15 ) DEFAULT NULL,
        `delete_flag` TINYINT ( 4 ) DEFAULT 0 COMMENT '0-正常, 1-刪除',
        `create_time` DATETIME DEFAULT now(),
        `update_time` DATETIME DEFAULT now() ON UPDATE now(),
        PRIMARY KEY ( `id` ) 
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4; 
-- 添加用戶信息
INSERT INTO mybatis_test.user_info( username, `password`, age, gender, phone )
VALUES ( 'admin', 'admin', 18, 1, '18612340001' );
INSERT INTO mybatis_test.user_info( username, `password`, age, gender, phone )
VALUES ( 'zhangsan', 'zhangsan', 18, 1, '18612340002' );
INSERT INTO mybatis_test.user_info( username, `password`, age, gender, phone )
VALUES ( 'lisi', 'lisi', 18, 1, '18612340003' );
INSERT INTO mybatis_test.user_info( username, `password`, age, gender, phone )
VALUES ( 'wangwu', 'wangwu', 18, 1, '18612340004' );
-- 創(chuàng)建文章表
DROP TABLE IF EXISTS article_info;
CREATE TABLE article_info (
        id INT PRIMARY KEY auto_increment,
        title VARCHAR ( 100 ) NOT NULL,
        content TEXT NOT NULL,
        uid INT NOT NULL,
        delete_flag TINYINT ( 4 ) DEFAULT 0 COMMENT '0-正常, 1-刪除',
        create_time DATETIME DEFAULT now(),
        update_time DATETIME DEFAULT now() 
) DEFAULT charset 'utf8mb4';
-- 插入測試數(shù)據(jù)
INSERT INTO article_info ( title, content, uid ) VALUES ( 'Java', 'Java正文', 1 );

2.3 配置文件

直接復制下面的代碼即可,注意要將password改寫成你電腦上的MySQL數(shù)據(jù)庫登錄密碼。

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=false
    username: root
    password: 1234
    driver-class-name: com.mysql.cj.jdbc.Driver

2.4 實體類

在idea中創(chuàng)建一個類來接收數(shù)據(jù)庫中user-info表的數(shù)據(jù),類中的成員與user-info表中的字段一一對應:

package com.example.springmybatisdemo.model;
import lombok.Data;
import java.util.Date;
@Data
public class UserInfo {
    private Integer id;
    private String username;
    private String password;
    private Integer age;
    private Integer gender;
    private String phone;
    private Integer deleteFlag;
    private Date createTime;
    private Date updateTime;
}

創(chuàng)建接口來操作數(shù)據(jù)庫,使用@Mapper注解來將該接口交給Spring管理,@Select(" ")來實現(xiàn)查詢語句,括號中的參數(shù)寫SQL的查詢語句。

  • @Mapper注解是Mybatis提供的控制反轉注解。
  • @Select注解直接將這個接口的方法給實現(xiàn)了。所以我們在后面可以直接注入這個接口。我們前面學習的SpringBoot的IoC注解是沒有這個功能的,如果是接口需要自己實現(xiàn)。
  • 當我們的接口是使用@Mapper注解管理,其中有些方法有沒有使用Mybatis可以實現(xiàn)的注解,那么就會在使用時拋出異常。
package com.example.springmybatisdemo.mapper;
import com.example.springmybatisdemo.model.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface UserMapper {
    @Select("select * from user_info")
    List<UserInfo> selectAll() ;
}

測試類,使用@SpringBootTest注解來啟動測試類,@Test啟動測試方法。

  • @SpringBootTest這個注解就是在運行這個測試類的時候加載Spring環(huán)境
  • @Test注解可以讓被修飾的方法啟動起來,就不需要使用main方法。
package com.example.springmybatisdemo;
import com.example.springmybatisdemo.mapper.UserMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
public class UserInfoMapperTest {
    @Autowired
    private UserMapper userMapper;
    @Test
    void selectAll() {
        System.out.println(userMapper.selectAll());
    }
}

2.5 執(zhí)行結果

執(zhí)行結果如下圖,確實將我們插入到user-info表中的數(shù)據(jù)拿到了:

到此這篇關于Mybatis 簡單啟動的文章就介紹到這了,更多相關Mybatis 啟動內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++ 歸并排序(merge sort)案例詳解

    C++ 歸并排序(merge sort)案例詳解

    這篇文章主要介紹了C++ 歸并排序(merge sort)案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • java基礎javeSE程序邏輯控制語法

    java基礎javeSE程序邏輯控制語法

    主要講解Java中程序的邏輯控制語句包括 Java中的輸入輸出方式 順序結構循環(huán)結構等,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-09-09
  • SpringBean依賴和三級緩存的案例講解

    SpringBean依賴和三級緩存的案例講解

    這篇文章主要介紹了SpringBean依賴和三級緩存的案例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringBoot策略模式的實踐使用

    SpringBoot策略模式的實踐使用

    這篇文章主要介紹了SpringBoot 策略模式的實踐使用,幫助大家更好的理解和學習使用SpringBoot,感興趣的朋友可以了解下
    2021-04-04
  • 淺析對Spring?aware接口理解

    淺析對Spring?aware接口理解

    通過aware接口可以獲取Spring容器相關信息,但這樣會與Spring容器耦合,這篇文章主要介紹了Spring?aware接口理解,需要的朋友可以參考下
    2022-08-08
  • Java?Web實戰(zhàn)之使用三層架構與Servlet構建登錄注冊模塊

    Java?Web實戰(zhàn)之使用三層架構與Servlet構建登錄注冊模塊

    這篇文章介紹了如何使用三層架構(View,?Service,?DAO)和JDBCTemplate技術在JavaWeb環(huán)境下實現(xiàn)登錄和注冊功能,詳細說明了構建項目的步驟,包括創(chuàng)建數(shù)據(jù)庫表、實體類、DAO層、Service層、Servlet處理及頁面設計,需要的朋友可以參考下
    2024-10-10
  • Java中BorderLayout布局管理器的兩種排列方式

    Java中BorderLayout布局管理器的兩種排列方式

    這篇文章主要介紹了Java中BorderLayout布局管理器的兩種排列方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Spring?Cloud?Ribbon的使用原理解析

    Spring?Cloud?Ribbon的使用原理解析

    現(xiàn)在Java非常流行微服務,也就是所謂的面向服務開發(fā),將一個項目拆分成了多個項目,其優(yōu)點有很多,其中一個優(yōu)點就是:將服務拆分成一個一個微服務后,我們很容易的來針對性的進行集群部署,這篇文章主要介紹了Spring?Cloud?Ribbon的使用詳解,需要的朋友可以參考下
    2022-07-07
  • 使用maven整合Spring+SpringMVC+Mybatis框架詳細步驟(圖文)

    使用maven整合Spring+SpringMVC+Mybatis框架詳細步驟(圖文)

    這篇文章主要介紹了使用maven整合Spring+SpringMVC+Mybatis框架詳細步驟(圖文),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • Java INPUTSTREAM如何實現(xiàn)重復使用

    Java INPUTSTREAM如何實現(xiàn)重復使用

    這篇文章主要介紹了Java INPUTSTREAM如何實現(xiàn)重復使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10

最新評論

名山县| 阿拉善左旗| 诸城市| 巴彦县| 大港区| 吴江市| 郎溪县| 沭阳县| 腾冲县| 佛冈县| 金门县| 长兴县| 海淀区| 兴国县| 喀喇沁旗| 灯塔市| 祁连县| 谢通门县| 八宿县| 周口市| 茌平县| 斗六市| 乌兰浩特市| 泸溪县| 盐池县| 昌黎县| 新平| 南平市| 梁平县| 福海县| 南通市| 朔州市| 措美县| 成都市| 马龙县| 上虞市| 和田市| 东兰县| 吉首市| 长阳| 莲花县|