当前位置: 首页 > 编程笔记 >

SpringBoot整合Mybatis注解开发的实现代码

段渊
2023-03-14
本文向大家介绍SpringBoot整合Mybatis注解开发的实现代码,包括了SpringBoot整合Mybatis注解开发的实现代码的使用技巧和注意事项,需要的朋友参考一下

官方文档:

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);
}

然后直接调用即可

这里有个问题,使用注解开发的话sql语句全写在注解里,那么如果要实现批量更新插入要怎么写呢,目前还没解决,找到办法再更

到此这篇关于SpringBoot整合Mybatis注解开发的实现代码的文章就介绍到这了,更多相关SpringBoot整合Mybatis注解开发内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍springboot整合Mybatis、JPA、Redis的示例代码,包括了springboot整合Mybatis、JPA、Redis的示例代码的使用技巧和注意事项,需要的朋友参考一下 引言 在springboot 项目中,我们是用ORM 框架来操作数据库变的非常方便。下面我们分别整合mysql ,spring data jpa 以及redis 。让我们感受下快车道。 我们首先创建一

  • 本文向大家介绍SpringBoot整合mybatis结合pageHelper插件实现分页,包括了SpringBoot整合mybatis结合pageHelper插件实现分页的使用技巧和注意事项,需要的朋友参考一下 SpringBoot整合mybatis分页操作 SpringBoot整合Mybatis进行分页操作,这里需要使用Mybatis的分页插件:pageHelper, 关于pageHelper的

  • 本文向大家介绍springboot与mybatis整合实例详解(完美融合),包括了springboot与mybatis整合实例详解(完美融合)的使用技巧和注意事项,需要的朋友参考一下 简介 从 Spring Boot 项目名称中的 Boot 可以看出来,Spring Boot 的作用在于创建和启动新的基于 Spring 框架的项目。它的目的是帮助开发人员很容易的创建出独立运行和产品级别的基于 Sp

  • 本文向大家介绍SpringBoot整合MyBatis-Plus3.1教程详解,包括了SpringBoot整合MyBatis-Plus3.1教程详解的使用技巧和注意事项,需要的朋友参考一下 一.说明 Mybatis-Plus是一个Mybatis框架的增强插件,根据官方描述,MP只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑.并且只需简单配置,即可快速进行 CRUD 操作,从而节省大量时间

  • 本文向大家介绍MyBatis使用注解开发实现过程详解,包括了MyBatis使用注解开发实现过程详解的使用技巧和注意事项,需要的朋友参考一下 使用注解开发 1、面向接口编程 面向接口编程的根本原因:解耦,可扩展,提高复用,分层开发中、上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性好 2、使用注解开发 注解在接口上实现 @Select(value = "select * from

  • 本文向大家介绍详解spring+springmvc+mybatis整合注解,包括了详解spring+springmvc+mybatis整合注解的使用技巧和注意事项,需要的朋友参考一下 每天记录一点点,慢慢的成长,今天我们学习了ssm,这是我自己总结的笔记,大神勿喷!谢谢,主要代码!! ! spring&springmvc&mybatis整合(注解) 1.jar包 2.引入web.xml文件 3.创