Mybatis-plus實現簡單增刪改查

琪十三發表於2020-10-21

Mybatis-plus實現簡單增刪改查

本次部落格內容,主要是基於spring boot,用Mybatis-plus 來實現簡單的增刪改查,主要分為mp基礎框架搭建和利用苞米豆已近封裝好的方法來實現。

搭建mp框架

a) 建立資料庫,資料表

b) 建立一個spring boot專案

c) 匯入依賴 pom.xml

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</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>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</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>

<!--mybatis-plus-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.5</version>
</dependency>

<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

<!--lombok用來簡化實體類-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

d) 修改配置檔案application.properties

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456

#mybatis 日誌
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
#可以看到更清楚的配置資訊,一些sql語句等

也可以建立application.yml 檔案,與properties檔案相同作用,只是在內容部分有些許不同,YAML以資料為中心,比json和xml等更適合配置檔案,可以通過以下程式碼,簡單區分不同之處

#####YAML配置示例
application.yml
server:
       port: 8081

application.properties
server.port=8081

######XML配置:
<srever>
    <port>8081</port>
</server>

e) 建立包和實體類bean(entity) —User.java
可以用Lombok註釋的方法,簡化程式碼,不用謝get、set等方法

f) 建立包和介面mapper—UserMapper

@Repository//把物件申明一下,交給spring管理
//可以直接繼承 苞米豆 提供的介面,實現增刪改查
public interface UserMapper extends BaseMapper<User> {
}

g) 編寫測試類,可以通過注入mapper,直接呼叫底層介面

//把mapper注入
@Autowired
private UserMapper userMapper;

//查詢user表中所有資料
public void findAll() {
    List<User> users = userMapper.selectList(null);
    System.out.println(users);
}

//新增操作
public void addUser() {
User user = new User();
user.setId(202085);
user.setUsername(“marry”);
user.setPassword(“123456”);

    int insert = userMapper.insert(user);
    System.out.println(insert);
}

增刪改查等方法
增加

//新增操作
    public void addUser(){
        User user = new User();
        user.setId(202069);
        user.setUsername("東方不敗");
        user.setPassword("873566");

//        user.setCreateTime(new Date());
//        user.setUpdateTime(new Date());
        int insert=userMapper.insert(user);
        System.out.println("insert:"+insert);
        System.out.println(user);
    }

刪除

//刪除操作
    public void deleteUser(){
        User user = new User();
        userMapper.deleteById(202001) ;

        List<User> users=userMapper.selectList(null);
        System.out.println(users);
    }

修改

public void updateUser(){
        User user = new User();
        //根據id修改name
        user.setId(202001);
        user.setUsername("huahua");

        int row=userMapper.updateById(user);
        System.out.println(row);
        System.out.println(user);
    }

查詢

 //多個id的批量查詢
    public void testSelectMore(){
        List<User> users = userMapper.selectBatchIds(Arrays.asList(202001, 202002, 202003));
        System.out.println(users);
    }
//根據條件做查詢 selectByMap
    public void testSelectByMap(){
        HashMap<String,Object> map = new HashMap<>();
        map.put("username","tom");
        map.put("id",202015);
        List<User> users = userMapper.selectByMap(map);

        users.forEach(System.out::println);
    }
    //分頁查詢
    public void testPage(){
        //1.建立page物件
        //傳入兩個引數:當前頁 和 每頁顯示記錄數
        Page<User> page = new Page<>(1,3);
        //呼叫mp分頁查詢中的方法
        //呼叫過程中,把分頁所有資料封裝在 page 物件裡面
        userMapper.selectPage(page,null);

        //通過page 物件獲取分頁資料
        System.out.println(page.getCurrent());
    }

以上就是本篇部落格的大概內容,增刪改查等基礎操作都是通過繼承苞米豆提供的介面,底層有一些方法可以供我們使用,同時也簡化了我們的一些操作,給我們提供了便利

相關文章