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)控和數據庫密碼加密
Druid連接池是阿里巴巴開源的數據庫連接池項目,Druid連接池為監(jiān)控而生,內置強大的監(jiān)控功能,監(jiān)控特性不影響性能,本文給大家介紹了SpringBoot整合Druid實現SQL監(jiān)控和數據庫密碼加密,文中有相關的代碼示例供大家參考,需要的朋友可以參考下2024-06-06
Java守護線程實例詳解_動力節(jié)點Java學院整理
在Java中有兩類線程:User Thread(用戶線程)、Daemon Thread(守護線程) 。下面通過本文給大家分享java守護線程實例詳解,需要的朋友參考下吧2017-06-06
MyBatis的mapper.xml文件中入參和返回值的實現
這篇文章主要介紹了MyBatis的mapper.xml文件中入參和返回值的實現方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
MyBatis使用自定義TypeHandler轉換類型的實現方法
這篇文章主要介紹了MyBatis使用自定義TypeHandler轉換類型的實現方法,本文介紹使用TypeHandler 實現日期類型的轉換,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-10-10

