<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      從零開始學Spring Boot系列-集成MyBatis-Plus

      在Spring Boot應用開發(fā)中,MyBatis-Plus是一個強大且易于使用的MyBatis增強工具,它提供了很多實用的功能,如代碼生成器、條件構造器、分頁插件等,極大地簡化了MyBatis的使用和配置。本篇文章將指導大家如何在Spring Boot項目中集成MyBatis-Plus。

      一、項目準備

      首先,確保你已經(jīng)安裝了Java開發(fā)環(huán)境(JDK)和Maven或Gradle等構建工具。接下來,創(chuàng)建一個新的Spring Boot項目。你可以使用Spring Initializrhttps://start.spring.io來快速生成項目結構,選擇你需要的依賴項,比如Spring Web、MySQL Driver等。

      二、添加MyBatis-Plus依賴

      在Gradle項目中集成MyBatis-Plus,你需要在項目的build.gradle文件中添加MyBatis-Plus的依賴。以下是添加MyBatis-Plus依賴的示例:

          dependencies {
              implementation 'org.springframework.boot:spring-boot-starter-web'
              compileOnly 'org.projectlombok:lombok'
              annotationProcessor 'org.projectlombok:lombok'
              runtimeOnly 'mysql:mysql-connector-java:8.0.17'
              // MyBatis-Plus 依賴
              implementation 'com.baomidou:mybatis-plus-spring-boot3-starter:3.5.6'
              // 如果需要分頁插件,可以添加以下依賴
              implementation 'com.baomidou:mybatis-plus-extension:3.5.6'
          }
      

      三、配置數(shù)據(jù)源

      在application.properties或application.yml文件中,配置你的數(shù)據(jù)庫連接信息。以下是application.yml的示例:

      # datasource
      spring.datasource.url=jdbc:mysql://localhost:3306/your_database?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false&allowPublicKeyRetrieval=true  
      spring.datasource.username=your_username
      spring.datasource.password=your_password
      spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
      
      # mybatis-plus
      mybatis-plus.mapper-locations=classpath:mapper/*.xml
      mybatis-plus.type-aliases-package=cn.daimajiangxin.springboot.learning.model
      

      這里的your_database、your_username和your_password需要替換為你的數(shù)據(jù)庫名稱、用戶名和密碼。mapper-locations指定了MyBatis映射文件的位置,type-aliases-package指定了實體類所在的包。

      四、創(chuàng)建實體類

      創(chuàng)建與數(shù)據(jù)庫表對應的實體類,并放在type-aliases-package指定的包下。

      package cn.daimajiangxin.springboot.learning.model;
      
      import com.baomidou.mybatisplus.annotation.IdType;
      import com.baomidou.mybatisplus.annotation.TableField;
      import com.baomidou.mybatisplus.annotation.TableId;
      import com.baomidou.mybatisplus.annotation.TableName;
      import java.io.Serializable;
      import lombok.Data;
      
      @TableName(value ="user")
      @Data
      public class User implements Serializable {
          /**
           * 學生ID
           */
          @TableId(type = IdType.AUTO)
          private Long id;
      
          /**
           * 姓名
           */
          private String name;
      
          /**
           * 郵箱
           */
          private String email;
      
          /**
           * 年齡
           */
          private Integer age;
      
          /**
           * 備注
           */
          private String remark;
      
          @TableField(exist = false)
          private static final long serialVersionUID = 1L;
      }
      

      五、創(chuàng)建Mapper接口

      創(chuàng)建對應的Mapper接口,通常放在與實體類相同的包下,并繼承BaseMapper 接口。例如:

      package cn.daimajiangxin.springboot.learning.mapper;
      
      import cn.daimajiangxin.springboot.learning.model.User;
      import com.baomidou.mybatisplus.core.mapper.BaseMapper;
      public interface UserMapper extends BaseMapper<User> {
      
      }
      

      六、創(chuàng)建Mapper XML文件

      在resources的mapper目錄下創(chuàng)建對應的XML文件,例如UserMapper.xml:

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE mapper
              PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
              "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
      <mapper namespace="cn.daimajiangxin.springboot.learning.mapper.UserMapper">
      
          <resultMap id="BaseResultMap" type="cn.daimajiangxin.springboot.learning.model.User">
                  <id property="id" column="id" jdbcType="BIGINT"/>
                  <result property="name" column="name" jdbcType="VARCHAR"/>
                  <result property="email" column="email" jdbcType="VARCHAR"/>
                  <result property="age" column="age" jdbcType="INTEGER"/>
                  <result property="remark" column="remark" jdbcType="VARCHAR"/>
          </resultMap>
      
          <sql id="Base_Column_List">
              id,name,email,age,remark
          </sql>
        
          <select id="findAllUsers"  resultMap="BaseResultMap">
           select
             <include refid="Base_Column_List"></include>
           from user
          </select>
      </mapper>
      
      

      七、創(chuàng)建Service 接口

      在service目錄下服務類接口UserService

      package cn.daimajiangxin.springboot.learning.service;
      
      import cn.daimajiangxin.springboot.learning.model.User;
      import com.baomidou.mybatisplus.extension.service.IService;
      
      public interface UserService extends IService<User> {
      
      }
      

      八、創(chuàng)建Service實現(xiàn)類

      在service目錄下創(chuàng)建一個impl目錄,并創(chuàng)建UserService實現(xiàn)類UserServiceImpl

      package cn.daimajiangxin.springboot.learning.service.impl;
      
      import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
      import cn.daimajiangxin.springboot.learning.model.User;
      import cn.daimajiangxin.springboot.learning.service.UserService;
      import cn.daimajiangxin.springboot.learning.mapper.UserMapper;
      import org.springframework.stereotype.Service;
      @Service
      public class UserServiceImpl extends ServiceImpl<UserMapper, User>implements UserService{
      
      }
      

      九、創(chuàng)建Controller

      控制層注入 UserService,并使用IService的list和save 方法。

      package cn.daimajiangxin.springboot.learning.controller;
      
      import cn.daimajiangxin.springboot.learning.model.User;
      import cn.daimajiangxin.springboot.learning.service.UserService;
      import org.springframework.beans.factory.annotation.Autowired;
      import org.springframework.web.bind.annotation.GetMapping;
      import org.springframework.web.bind.annotation.PostMapping;
      import org.springframework.web.bind.annotation.RestController;
      
      import java.util.List;
      
      @RestController
      public class UserController {
          private final UserService userService;
      
          @Autowired
          public UserController(UserService userService) {
              this.userService = userService;
          }
          @GetMapping("/users")
          public List<User> getAllUsers() {
              return userService.list();
          }
          @PostMapping("/user")
          public String add() {
              User user=new User();
              user.setName("test");
              user.setAge(18);
              user.setEmail("test@163.com");
              userService.save(user);
              return "保存成功";
          }
      
      }
      
      

      十、測試

      運行你的Spring Boot應用程序,并通過調(diào)用UserService的list方法來測試MyBatis-plus的集成效果。你可以通過編寫單元測試或使用Postman或apipost等工具來發(fā)送HTTP請求,訪問來http://localhost:8080/users查看所有用戶的列表。
      20240404002027

      總結

      在本篇文章中,我們詳細介紹了如何在Spring Boot項目中集成MyBatis-Plus,并使用XML文件定義Mapper接口的實現(xiàn)。首先,我們添加了MyBatis-Plus的依賴,并配置了數(shù)據(jù)源。接著,我們創(chuàng)建了實體類,并使用了MyBatis-Plus的注解來指定實體類與數(shù)據(jù)庫表的映射關系。然后,我們創(chuàng)建了Mapper接口,并繼承了BaseMapper以使用MyBatis-Plus提供的CRUD方法。為了更靈活地控制SQL語句的編寫,我們還編寫了Mapper的XML文件,并在其中定義了自定義的SQL語句。最后,在Service層或Controller層中,我們通過注入Mapper接口來使用這些功能。

      通過集成MyBatis-Plus并使用XML實現(xiàn)Mapper,我們可以在Spring Boot項目中高效地進行數(shù)據(jù)庫操作,同時保持代碼的清晰和可維護性。MyBatis-Plus的增強功能和XML的靈活性相結合,使得數(shù)據(jù)訪問層的開發(fā)變得更加簡單和高效。


      我是代碼匠心,和我一起學習更多精彩知識!!!掃描二維碼!關注我,實時獲取推送。
      公眾號
      源文來自:https://daimajiangxin.cn

      posted @ 2024-04-04 15:11  代碼匠心  閱讀(1248)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 美欧日韩一区二区三区视频| 加勒比在线中文字幕一区二区| 中国少妇无码专区| 国产视频一区二区三区麻豆 | 一卡2卡三卡4卡免费网站| 久久人妻精品国产| 免费费很色大片欧一二区| 大伊香蕉在线精品视频75| 亚洲色成人一区二区三区| 亚洲区成人综合一区二区| 一区二区偷拍美女撒尿视频| 亚洲国产一区二区在线| 通辽市| 久热这里有精品视频播放| 久热这里只有精品蜜臀av| 亚洲69视频| 亚洲国产欧美一区二区好看电影 | 国产熟女一区二区五月婷| 大地资源高清播放在线观看| 宿州市| 国产精品国产三级在线专区| 亚洲人成电影在线天堂色| jizz国产免费观看| 无码人妻斩一区二区三区| 国产成人午夜精品影院| 野外做受三级视频| 里番全彩爆乳女教师| 少妇激情一区二区三区视频| 男女激情一区二区三区| 国精产品999国精产| 国产精品成人网址在线观看| 久久夜色精品亚洲国产av| 丰满少妇在线观看网站| 中文字幕日韩精品国产| 蜜臀av午夜精品福利| 亚洲一区二区三区影院| 吉首市| 一区二区亚洲精品国产精| 午夜成人性爽爽免费视频| 国产精品无码成人午夜电影 | av天堂久久精品影音先锋|