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

SpringBoot整合Mybatis注解開發(fā)的實現代碼

 更新時間:2020年11月25日 10:36:38   作者:Breeze_4379  
這篇文章主要介紹了SpringBoot整合Mybatis注解開發(fā)的實現代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

官方文檔:

https://mybatis.org/mybatis-3/zh/getting-started.html

SpringBoot整合Mybatis 引入maven依賴

(IDEA建項目的時候直接選就可以了)

<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>2.1.4</version>
</dependency>

配置application.yml文件

server:
 port: 8144
spring:
 #redis
 redis:
  host: 127.0.0.1
  port: 6379
  password: 123456
  timeout: 3000
 datasource:
  username: root
  password: root
  driver-class-name: com.mysql.cj.jdbc.Driver
  url: jdbc:mysql://localhost:3306/hellomybatis?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8

建實體類、Controller類、Service類 實體類

package com.example.mybatisDemo.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
  private long id;
  private String name;
  private String pwd;
}

Controller類

package com.example.mybatisDemo.controller;

import com.example.mybatisDemo.entity.User;
import com.example.mybatisDemo.service.UserService;
import org.springframework.web.bind.annotation.*;

import java.util.*;


@RestController
@RequestMapping("api/user")
public class UserController {
  private final UserService userService;

  public UserController(UserService userService) {
    this.userService = userService;
  }

  @GetMapping()
  public List<User> getAllUsers(){
    return userService.getUsers();
  }

  @DeleteMapping("{id}")
  public int deleteUser(@PathVariable long id){
    return userService.deleteUser(id);
  }

  @PostMapping
  public int saveUser(@RequestBody User user){
    return userService.insertUser(user);
  }

  @PutMapping
  public int updateUser(@RequestBody User user){
    return userService.updateUser(user);
  }

  @GetMapping("{id}")
  public User getUser(@PathVariable long id){
    return userService.getUser(id);
  }
}

Service類

package com.example.mybatisDemo.service;

import com.example.mybatisDemo.entity.User;
import com.example.mybatisDemo.repository.UserRepository;
import org.springframework.stereotype.Service;
import java.util.*;


@Service
public class UserService {
  private final UserRepository userRepository;

  public UserService(UserRepository userRepository) {
    this.userRepository = userRepository;
  }

  public List<User> getUsers(){
    return userRepository.getUsers();
  }

  public int deleteUser(long id){
    return userRepository.deleteUser(id);
  }

  public User getUser(long id){
    return userRepository.getUser(id);
  }

  public int updateUser(User user){
    return userRepository.updateUser(user);
  }

  public int insertUser(User user){
    return userRepository.addUser(user);
  }
}

建Repository類

package com.example.mybatisDemo.repository;

import com.example.mybatisDemo.entity.User;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;

import java.util.*;

/**
 * Mapper注解能省去以前復雜的xml配置,直接用注解寫sql語句
 * 不添加Repository注解依賴注入會報錯(不影響運行),強迫癥還是加上吧
 */
@Mapper
@Repository
public interface UserRepository {
  @Select("select * from user")
  List<User> getUsers();

  @Delete("delete from user where id = #{id}")
  int deleteUser(long id);

  @Insert("insert into user(id,name,pwd) values (#{id},#{name},#{pwd})")
  int addUser(User user);

  @Update("update user set name=#{name},pwd=#{pwd} where id = #{id}")
  int updateUser(User user);

  @Select("select * from user where id = #{id}")
  User getUser(long id);
}

然后直接調用即可

這里有個問題,使用注解開發(fā)的話sql語句全寫在注解里,那么如果要實現批量更新插入要怎么寫呢,目前還沒解決,找到辦法再更

到此這篇關于SpringBoot整合Mybatis注解開發(fā)的實現代碼的文章就介紹到這了,更多相關SpringBoot整合Mybatis注解開發(fā)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • SpringBoot整合Druid實現SQL監(jiān)控和數據庫密碼加密

    SpringBoot整合Druid實現SQL監(jiān)控和數據庫密碼加密

    Druid連接池是阿里巴巴開源的數據庫連接池項目,Druid連接池為監(jiān)控而生,內置強大的監(jiān)控功能,監(jiān)控特性不影響性能,本文給大家介紹了SpringBoot整合Druid實現SQL監(jiān)控和數據庫密碼加密,文中有相關的代碼示例供大家參考,需要的朋友可以參考下
    2024-06-06
  • Java守護線程實例詳解_動力節(jié)點Java學院整理

    Java守護線程實例詳解_動力節(jié)點Java學院整理

    在Java中有兩類線程:User Thread(用戶線程)、Daemon Thread(守護線程) 。下面通過本文給大家分享java守護線程實例詳解,需要的朋友參考下吧
    2017-06-06
  • Redis集群原理詳細分析

    Redis集群原理詳細分析

    Redis集群實現了對Redis的水平擴容,即啟動N個redis節(jié)點,將整個數據庫分布存儲在這N個節(jié)點中,每個節(jié)點存儲總數據的1/N。Redis集群通過分區(qū)來提供一定程度的可用,即使集群中有一部分節(jié)點失效或者無法進行通訊,集群也可以繼續(xù)處理命令請求
    2022-12-12
  • Android 判斷真機和模擬器的方法

    Android 判斷真機和模擬器的方法

    這篇文章主要介紹了 Android 判斷真機和模擬器的方法的相關資料,需要的朋友可以參考下
    2017-02-02
  • Java數據結構之雙向鏈表的實現

    Java數據結構之雙向鏈表的實現

    相較單鏈表,雙向鏈表除了data與next域,還多了一個pre域用于表示每個節(jié)點的前一個元素。這樣做給雙向鏈表帶來了很多優(yōu)勢。本文主要介紹了雙向鏈表的實現,需要的可以參考一下
    2022-10-10
  • Java JVM中線程狀態(tài)詳解

    Java JVM中線程狀態(tài)詳解

    這篇文章主要介紹了Java JVM中線程狀態(tài)詳解,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,感興趣的朋友可以參考一下
    2022-09-09
  • MyBatis的mapper.xml文件中入參和返回值的實現

    MyBatis的mapper.xml文件中入參和返回值的實現

    這篇文章主要介紹了MyBatis的mapper.xml文件中入參和返回值的實現方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • java實現字符串匹配求兩個字符串的最大公共子串

    java實現字符串匹配求兩個字符串的最大公共子串

    這篇文章主要介紹了java實現求兩個字符串最大公共子串的方法,詳細的描述了兩個字符串的最大公共子串算法的實現,需要的朋友可以參考下
    2016-10-10
  • MyBatis使用自定義TypeHandler轉換類型的實現方法

    MyBatis使用自定義TypeHandler轉換類型的實現方法

    這篇文章主要介紹了MyBatis使用自定義TypeHandler轉換類型的實現方法,本文介紹使用TypeHandler 實現日期類型的轉換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 詳解Java串行化接口的用法和原理

    詳解Java串行化接口的用法和原理

    在Java開發(fā)中,我們經常需要將對象進行序列化和反序列化,以便在網絡傳輸或存儲到持久化介質中,Java提供了一種機制,即通過實現Serializable接口來實現對象的串行化,本文將詳細介紹Java串行化接口的用法和原理,以及一些相關的注意事項,需要的朋友可以參考下
    2023-11-11

最新評論

霍城县| 突泉县| 蓬溪县| 富裕县| 迁安市| 和静县| 托里县| 玉溪市| 土默特右旗| 西盟| 锦州市| 武川县| 玛纳斯县| 大庆市| 时尚| 砚山县| 钟山县| 紫阳县| 兴仁县| 浦城县| 鄂伦春自治旗| 高青县| 隆林| 石河子市| 芒康县| 丰原市| 嘉定区| 凤庆县| 绥芬河市| 三都| 谷城县| 旅游| 明光市| 思茅市| 崇礼县| 吉安市| 建宁县| 兴义市| 钦州市| 东乌珠穆沁旗| 县级市|