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

springboot集成mybatisplus的方法

 更新時(shí)間:2018年04月02日 08:34:00   作者:豬點(diǎn)點(diǎn)  
這篇文章主要為大家詳細(xì)介紹了springboot集成mybatisplus的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

介紹:

         Mybatis-Plus(簡(jiǎn)稱(chēng)MP)是一個(gè) Mybatis 的增強(qiáng)工具,在 Mybatis 的基礎(chǔ)上只做增強(qiáng)不做改變,為簡(jiǎn)化開(kāi)發(fā)、提高效率而生。(摘自mybatis-plus官網(wǎng))Mybatis雖然已經(jīng)給我們提供了很大的方便,但它還是有不足之處,MP的存在就是為了稍稍彌補(bǔ)Mybatis的不足。在我們使用Mybatis時(shí)會(huì)發(fā)現(xiàn),每當(dāng)要寫(xiě)一個(gè)業(yè)務(wù)邏輯的時(shí)候都要在DAO層寫(xiě)一個(gè)方法,再對(duì)應(yīng)一個(gè)SQL,即使是簡(jiǎn)單的條件查詢(xún)、即使僅僅改變了一個(gè)條件都要在DAO層新增一個(gè)方法,針對(duì)這個(gè)問(wèn)題,MP這樣一個(gè)框架,一種集Mybatis與Hibernate的優(yōu)點(diǎn)一起的框架。它提供了Hibernate的單表CURD操作的方便同時(shí),又保留了Mybatis的特性。

本章只教大家怎么使用MybatisPlus,如果想深入了解底層是怎么實(shí)現(xiàn)的可以去官網(wǎng)下載源代碼進(jìn)行解讀。

一、創(chuàng)建項(xiàng)目

  這里就不一步一步來(lái)了,我直接給出創(chuàng)建后的項(xiàng)目結(jié)構(gòu),在本章的最后我會(huì)給出源碼地址需要看效果的可以進(jìn)行下載。

二、引入依賴(lài)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelVersion>4.0.0</modelVersion>

 <groupId>com.chaoqi</groupId>
 <artifactId>springboot_mybatisplus</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <packaging>jar</packaging>

 <name>springboot_mybatisplus</name>
 <description>Demo project for Spring Boot</description>

 <parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.0.0.RELEASE</version>
  <relativePath/>
 </parent>

 <properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  <java.version>1.8</java.version>
 </properties>

 <dependencies>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-jdbc</artifactId>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>1.3.2</version>
  </dependency>

  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <scope>runtime</scope>
  </dependency>
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
   <scope>test</scope>
  </dependency>
  <!--添加jsp依賴(lài) -->
  <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
  </dependency>
  <dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-jasper</artifactId>
  </dependency>
  <!-- SpringBoot - MyBatis 逆向工程 -->
  <dependency>
   <groupId>org.mybatis.generator</groupId>
   <artifactId>mybatis-generator-core</artifactId>
   <version>1.3.2</version>
  </dependency>

  <!-- MyBatis 通用 Mapper -->
  <dependency>
   <groupId>tk.mybatis</groupId>
   <artifactId>mapper-spring-boot-starter</artifactId>
   <version>1.1.4</version>
  </dependency>
 </dependencies>

 <build>
  <plugins>
   <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
   </plugin>
   <plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.2</version>
    <configuration>
     <configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
     <verbose>true</verbose>
     <overwrite>true</overwrite>
    </configuration>
    <executions>
     <execution>
      <id>Generate MyBatis Artifacts</id>
      <goals>
       <goal>generate</goal>
      </goals>
     </execution>
    </executions>
    <dependencies>
     <dependency>
      <groupId>org.mybatis.generator</groupId>
      <artifactId>mybatis-generator-core</artifactId>
      <version>1.3.2</version>
     </dependency>
     <dependency>
      <groupId>tk.mybatis</groupId>
      <artifactId>mapper</artifactId>
      <version>3.5.0</version>
     </dependency>
    </dependencies>
   </plugin>
  </plugins>
 </build>


</project>

三、編輯application.yml

server:
 port: 8080

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

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

四、逆向生成pojo,mapper

 創(chuàng)建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:/mysql/mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.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>
   <!-- 是否生成注釋代時(shí)間戳 -->
   <property name="suppressDate" value="true"/>
   <!-- 是否去除自動(dòng)生成的注釋 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="123456">
  </jdbcConnection>
  <!-- 生成實(shí)體類(lèi)地址 -->
  <javaModelGenerator targetPackage="com.chaoqi.springboot_mybatisplus.dao.domain" targetProject="src/main/java"/>
  <!-- 生成mapper xml文件 -->
  <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>
  <!-- 生成mapper xml對(duì)應(yīng)Client-->
  <javaClientGenerator targetPackage="com.chaoqi.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運(yùn)行g(shù)enerator

生成完后的項(xiàng)目結(jié)構(gòu)如下

五、整合mybatisplus

 創(chuàng)建service接口以及service實(shí)現(xiàn)類(lèi)

package com.chaoqi.springboot_mybatisplus.service;


import com.chaoqi.springboot_mybatisplus.dao.domain.MusicInfo;
import java.util.List;
public interface MusicInfoService {
 public List<MusicInfo> getMusicInfo();
}

package com.chaoqi.springboot_mybatisplus.service.impl;

import com.chaoqi.springboot_mybatisplus.dao.domain.MusicInfo;
import com.chaoqi.springboot_mybatisplus.dao.mapper.MusicInfoMapper;
import com.chaoqi.springboot_mybatisplus.service.MusicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class MusicInfoServiceImpl implements MusicInfoService {

 @Autowired
 private MusicInfoMapper musicInfoMapper;

 @Override
 public List<MusicInfo> getMusicInfo() {
  List<MusicInfo> musicInfos = musicInfoMapper.selectAll();
  return musicInfos;
 }
}

創(chuàng)建Controller

package com.chaoqi.springboot_mybatisplus.web;

import com.chaoqi.springboot_mybatisplus.dao.domain.MusicInfo;
import com.chaoqi.springboot_mybatisplus.service.MusicInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping(value = "/music")
public class MusicInfoController {

 @Autowired
 private MusicInfoService musicInfoService;

 @RequestMapping("/showMusic")
 public List<MusicInfo> getMusicInfo() {
  List<MusicInfo> musicInfo1 = musicInfoService.getMusicInfo();
  return musicInfo1;
 }

}

這里我的mapper并不要寫(xiě)sql,一些簡(jiǎn)單的sqlmybatiplus都給封裝好了,節(jié)省了許多開(kāi)發(fā)時(shí)間,如果是一些復(fù)雜的sql,也可以通過(guò)寫(xiě)原生sql來(lái)實(shí)現(xiàn),在我的第二篇博客中有講到springboot+springmvc+mybatis項(xiàng)目整合

運(yùn)行SpringbootMybatisplusApplication主函數(shù)

package com.chaoqi.springboot_mybatisplus;

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

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

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


查看數(shù)據(jù)庫(kù)

下面給出mybatisplus封裝的一些方法,這些方法具體怎么使用,感興趣的小伙伴可以查看下源代碼,mybatisplus還有一個(gè)強(qiáng)大的分頁(yè)功能,如果有興趣也可以去這里學(xué)習(xí)

(源碼下載地址

最后謝謝大家的觀看,寫(xiě)博客經(jīng)驗(yàn)不足,寫(xiě)得不好請(qǐng)見(jiàn)諒

相關(guān)文章

  • 完美解決idea創(chuàng)建文件時(shí),文件不分級(jí)展示的情況

    完美解決idea創(chuàng)建文件時(shí),文件不分級(jí)展示的情況

    這篇文章主要介紹了完美解決idea創(chuàng)建文件時(shí),文件不分級(jí)展示的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • 詳解如何在SpringBoot中自定義參數(shù)解析器

    詳解如何在SpringBoot中自定義參數(shù)解析器

    這篇文章主要為大家詳細(xì)介紹了如何在SpringBoot中實(shí)現(xiàn)自定義參數(shù)解析器,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,需要的可以參考一下
    2022-05-05
  • MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解

    MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解

    這篇文章主要介紹了MyBatis學(xué)習(xí)教程(八)-Mybatis3.x與Spring4.x整合圖文詳解的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • Java 實(shí)現(xiàn)一個(gè)漢諾塔實(shí)戰(zhàn)練習(xí)

    Java 實(shí)現(xiàn)一個(gè)漢諾塔實(shí)戰(zhàn)練習(xí)

    漢諾塔是源于印度一個(gè)古老傳說(shuō)的益智玩具。大梵天創(chuàng)造世界時(shí)做了三根石柱,在一根柱子上從下往上按大小順序摞著64片黃金圓盤(pán)。大梵天命令婆羅門(mén)把圓盤(pán)從下面開(kāi)始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤(pán)上不能放大圓盤(pán),三根柱子之間一次只能移動(dòng)一個(gè)圓盤(pán)
    2021-10-10
  • Java 反射機(jī)制原理與用法詳解

    Java 反射機(jī)制原理與用法詳解

    這篇文章主要介紹了Java 反射機(jī)制原理與用法,結(jié)合實(shí)例形式詳細(xì)分析了java反射機(jī)制的相關(guān)概念、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • SpringBoot+Redis哨兵模式的實(shí)現(xiàn)

    SpringBoot+Redis哨兵模式的實(shí)現(xiàn)

    本文主要介紹了SpringBoot+Redis哨兵模式的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Java 調(diào)整格式日志輸出

    Java 調(diào)整格式日志輸出

    本文主要介紹Java 的日志輸出格式,在開(kāi)發(fā)java的時(shí)候會(huì)經(jīng)??慈罩具M(jìn)行調(diào)試或者查看錯(cuò)誤,這里給大家介紹日志輸出調(diào)整格式,以便大家看日志的時(shí)候更加方便,
    2016-07-07
  • 在idea中設(shè)置項(xiàng)目編碼格式為UTF-8的操作方法

    在idea中設(shè)置項(xiàng)目編碼格式為UTF-8的操作方法

    idea中的默認(rèn)編碼為GBK,在開(kāi)發(fā)過(guò)程中一般將編碼格式改為UTF-8,所以本文給大家介紹了在idea中設(shè)置項(xiàng)目編碼為UTF-8的操作方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • SpringBoot整合Redis實(shí)現(xiàn)緩存分頁(yè)數(shù)據(jù)查詢(xún)功能

    SpringBoot整合Redis實(shí)現(xiàn)緩存分頁(yè)數(shù)據(jù)查詢(xún)功能

    類(lèi)似淘寶首頁(yè),這些商品是從數(shù)據(jù)庫(kù)中查出來(lái)的嗎,答案肯定不是,本文我們就通過(guò)一個(gè)案例實(shí)操一下,首頁(yè)熱點(diǎn)數(shù)據(jù)怎么放到Redis中去查詢(xún),感興趣的同學(xué)可以參考一下
    2023-06-06
  • SpringBoot使用AOP統(tǒng)一日志管理的方法詳解

    SpringBoot使用AOP統(tǒng)一日志管理的方法詳解

    這篇文章主要為大家分享一個(gè)干貨:超簡(jiǎn)潔SpringBoot使用AOP統(tǒng)一日志管理,文中的示例代碼講解詳細(xì),感興趣的小伙伴快跟隨小編一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05

最新評(píng)論

安图县| 桃江县| 定远县| 黄浦区| 天镇县| 油尖旺区| 海南省| 进贤县| 灌阳县| 兴仁县| 台南市| 卓资县| 伊吾县| 扬州市| 伊宁市| 乌鲁木齐县| 五常市| 朝阳县| 满城县| 衡东县| 定襄县| 昌黎县| 吉木萨尔县| 漠河县| 永寿县| 五大连池市| 平泉县| 望江县| 隆德县| 扶沟县| 金塔县| 繁峙县| 舞钢市| 江孜县| 娄烦县| 虹口区| 平原县| 察雅县| 墨竹工卡县| 酒泉市| 陆川县|