中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

springboot集成mybatisplus的用法

發布時間:2021-07-05 15:47:23 來源:億速云 閱讀:274 作者:chen 欄目:大數據

這篇文章主要介紹“springboot集成mybatisplus的用法”,在日常操作中,相信很多人在springboot集成mybatisplus的用法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”springboot集成mybatisplus的用法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

介紹:

         Mybatis-Plus(簡稱MP)是一個 Mybatis 的增強工具,在 Mybatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。(摘自mybatis-plus官網)Mybatis雖然已經給我們提供了很大的方便,但它還是有不足之處,MP的存在就是為了稍稍彌補Mybatis的不足。在我們使用Mybatis時會發現,每當要寫一個業務邏輯的時候都要在DAO層寫一個方法,再對應一個SQL,即使是簡單的條件查詢、即使僅僅改變了一個條件都要在DAO層新增一個方法,針對這個問題,MP這樣一個框架,一種集Mybatis與Hibernate的優點一起的框架。它提供了Hibernate的單表CURD操作的方便同時,又保留了Mybatis的特性。

本章只教大家怎么使用MybatisPlus,如果想深入了解底層是怎么實現的可以去官網下載源代碼進行解讀。

一、創建項目

  這里就不一步一步來了,我直接給出創建后的項目結構,在本章的最后我會給出源碼地址需要看效果的可以進行下載。

springboot集成mybatisplus的用法

二、引入依賴

<?xml version="1.0">

 三、編輯application.yml

server:
  port: 8080

spring:
  mvc:
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp
  datasource:
    url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
    username: root
    password: dacian821
    driver-class-name: com.mysql.jdbc.Driver

mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.cdq.springboot_mybatisplus.domain

四、逆向生成pojo,mapper

 創建generatorConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>

    <properties resource="application.yml"/>
    <classPathEntry location="D:/develop/maven_repository/mysql/mysql-connector-java/5.1.30/mysql-connector-java-5.1.30.jar"/>

    <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>
        <property name="javaFileEncoding" value="UTF-8"/>
        <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
            <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
        </plugin>
        <!-- 注釋 -->
        <commentGenerator>
            <!-- 是否生成注釋代時間戳 -->
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自動生成的注釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="false"/>
        </commentGenerator>
        <!-- JDBC連接 -->
        <jdbcConnection
                driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8"
                userId="root"
                password="dacian821">
        </jdbcConnection>
        <!-- 生成實體類地址 -->
        <javaModelGenerator targetPackage="com.cdq.springboot_mybatisplus.dao.domain" targetProject="src/main/java"/>
        <!-- 生成mapper xml文件 -->
        <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
        <!-- 生成mapper xml對應Client-->
        <javaClientGenerator targetPackage="com.cdq.springboot_mybatisplus.dao.mapper" targetProject="src/main/java"
                             type="XMLMAPPER"/>
        <!-- 配置表信息 -->
        <table tableName="%">
            <!--mysql 配置-->
            <generatedKey column="id" sqlStatement="Mysql"/>
            <!--oracle 配置-->
            <!--<generatedKey column="id" sqlStatement="select SEQ_{1}.nextval from dual" identity="false" type="pre"/>-->
        </table>
    </context>
</generatorConfiguration>

maven運行generator

springboot集成mybatisplus的用法

生成完后的項目結構如下

五、整合mybatisplus

創建service接口以及service實現類

package com.cdq.springboot_mybatisplus.service;

import com.cdq.springboot_mybatisplus.dao.domain.Person;

import java.util.List;

public interface PersonService {

    List<Person> getPerson();

    boolean insert(Person person);
}
package com.cdq.springboot_mybatisplus.service.impl;

import com.cdq.springboot_mybatisplus.dao.domain.Person;
import com.cdq.springboot_mybatisplus.dao.mapper.PersonMapper;
import com.cdq.springboot_mybatisplus.service.PersonService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class PersonServiceImpl implements PersonService {

    @Autowired
    private PersonMapper personMapper;

    @Override
    public List<Person> getPerson() {
        return personMapper.selectAll();
    }

    @Override
    public boolean insert(Person person) {
        int insert = personMapper.insert(person);
        if (insert >= 1) {
            return true;
        }
        return false;
    }
}

創建Controller

package com.cdq.springboot_mybatisplus.controller;

import com.cdq.springboot_mybatisplus.dao.domain.Person;
import com.cdq.springboot_mybatisplus.service.PersonService;
import com.cdq.springboot_mybatisplus.service.impl.PersonServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

@RestController
@RequestMapping("/person")
public class PersonController {

    @Autowired
    PersonService personService;

    @RequestMapping("/findAllPerson")
    List<Person> findAllPerson() {
        return personService.getPerson();
    }

    boolean insertPerson(Person person) {

        return personService.insert(person);
    }

}

這里我的mapper并不要寫sql,一些簡單的sqlmybatiplus都給封裝好了,節省了許多開發時間,如果是一些復雜的sql,也可以通過寫原生sql來實現

插入一些數據

package com.cdq.springboot_mybatisplus;

import com.cdq.springboot_mybatisplus.dao.domain.Person;
import com.cdq.springboot_mybatisplus.service.PersonService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

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

    @Autowired
    PersonService personService;

    @Test
    public void contextLoads() {
        for (int i = 1; i <= 30; i++) {
            Person person = new Person();
            person.setId(i);
            person.setUsername("zhangsan" + i);
            person.setPassword("zs"+i);
            person.setAge(String.valueOf(i));
            person.setNickname("張三" + i);
            if (i % 2 == 0) {
                person.setSex("男");
            } else {
                person.setSex("女");
            }
            personService.insert(person);

        }


    }

}

查看數據庫

springboot集成mybatisplus的用法

運行SpringbootMybatisplusApplication主函數

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.cdq.springboot_mybatisplus.dao.mapper")
public class SpringbootMybatisplusApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootMybatisplusApplication.class, args);
    }

}

訪問http://localhost:8080/person/findAllPerson

springboot集成mybatisplus的用法

 下面給出mybatisplus封裝的一些方法,這些方法具體怎么使用,感興趣的小伙伴可以查看下源代碼,mybatisplus還有一個強大的分頁功能,如果有興趣也可以去學習http://mp.baomidou.com

springboot集成mybatisplus的用法

demo項目地址:https://gitee.com/chendequan0821/springboot_mybatisplus.git

到此,關于“springboot集成mybatisplus的用法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

垫江县| 运城市| 麻阳| 邓州市| 五莲县| 西青区| 西吉县| 阆中市| 保德县| 万山特区| 清水河县| 大关县| 新昌县| 天镇县| 湘潭市| 甘孜县| 抚顺县| 蓝山县| 桃园县| 海南省| 汝城县| 鄂托克旗| 额济纳旗| 漾濞| 瓮安县| 兰溪市| 衡阳市| 民县| 乐业县| 宜宾县| 临邑县| 凤台县| 宜良县| 兴义市| 北海市| 长宁县| 金门县| 汉寿县| 富川| 泾川县| 民丰县|