当前位置: 首页 > news >正文

mybatis-plus初体验,解决报错Invalid value type for attribute factoryBeanObjectType: java.lang.String

解决报错Invalid value type for attribute 'factoryBeanObjectType': java.lang.String

推荐这位大佬的博客:

https://www.cnblogs.com/muphy/p/18653627

项目结构

image

MyBatis-Plus配置类

MyBatisPlusConfig

package com.example.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** MyBatis-Plus配置类* 配置分页插件等功能*/
@Configuration
public class MyBatisPlusConfig {/*** 添加分页插件*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();// 添加MySQL的分页插件interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
}

用户Controller类

UserController

package com.example.controller;import com.example.entity.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;import java.time.LocalDateTime;
import java.util.List;/*** 用户Controller类* 处理HTTP请求,实现CRUD操作的RESTful接口*/
@RestController
@RequestMapping("/api/users")
public class UserController {@Autowiredprivate UserService userService;/*** 获取所有用户列表* GET /api/users*/@GetMappingpublic ResponseEntity<List<User>> getAllUsers() {List<User> users = userService.list();return ResponseEntity.ok(users);}/*** 根据ID获取单个用户* GET /api/users/{id}*/@GetMapping("/{id}")public ResponseEntity<User> getUserById(@PathVariable Long id) {User user = userService.getById(id);if (user == null) {return ResponseEntity.notFound().build();}return ResponseEntity.ok(user);}/*** 创建新用户* POST /api/users*/@PostMappingpublic ResponseEntity<User> createUser(@RequestBody User user) {// 设置创建和更新时间user.setCreateTime(LocalDateTime.now());user.setUpdateTime(LocalDateTime.now());boolean saved = userService.save(user);if (saved) {return ResponseEntity.ok(user);}return ResponseEntity.status(500).build();}/*** 更新用户信息* PUT /api/users/{id}*/@PutMapping("/{id}")public ResponseEntity<User> updateUser(@PathVariable Long id, @RequestBody User user) {// 检查用户是否存在if (userService.getById(id) == null) {return ResponseEntity.notFound().build();}// 设置ID和更新时间user.setId(id);user.setUpdateTime(LocalDateTime.now());boolean updated = userService.updateById(user);if (updated) {return ResponseEntity.ok(user);}return ResponseEntity.status(500).build();}/*** 删除用户* DELETE /api/users/{id}*/@DeleteMapping("/{id}")public ResponseEntity<Void> deleteUser(@PathVariable Long id) {// 检查用户是否存在if (userService.getById(id) == null) {return ResponseEntity.notFound().build();}boolean deleted = userService.removeById(id);if (deleted) {return ResponseEntity.noContent().build();}return ResponseEntity.status(500).build();}
}

用户实体类

User

package com.example.entity;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;import java.io.Serializable;
import java.time.LocalDateTime;/*** 用户实体类* 对应数据库中的user表*/
@Data
@TableName("user")
public class User implements Serializable {private static final long serialVersionUID = 1L;/*** 主键ID,自增*/@TableId(type = IdType.AUTO)private Long id;/*** 用户名*/private String username;/*** 密码*/private String password;/*** 昵称*/private String nickname;/*** 邮箱*/private String email;/*** 创建时间*/private LocalDateTime createTime;/*** 更新时间*/private LocalDateTime updateTime;
}

用户Mapper接口

UserMapper

package com.example.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.entity.User;/*** 用户Mapper接口* 继承自MyBatis-Plus的BaseMapper,提供基础的CRUD操作*/
public interface UserMapper extends BaseMapper<User> {// 可以在这里添加自定义的SQL方法
}

用户Service实现类

UserServiceImpl

package com.example.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.entity.User;
import com.example.mapper.UserMapper;
import com.example.service.UserService;
import org.springframework.stereotype.Service;/*** 用户Service实现类* 继承自MyBatis-Plus的ServiceImpl,实现了UserService接口*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {// 可以在这里实现自定义的业务方法
}

用户Service接口

UserService

package com.example.service;import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.User;/*** 用户Service接口* 继承自MyBatis-Plus的IService,提供更多的业务方法*/
public interface UserService extends IService<User> {// 可以在这里添加自定义的业务方法
}
http://www.wxhsa.cn/company.asp?id=6766

相关文章:

  • 04_UDP协议
  • 从0到1搭建数据分析自动化程序链,AI应用架构师的实战指南
  • IOS App技术支持网址(URL)
  • Alexandresku设计的loki小对象内存分配器
  • C++ 内存管理
  • 浅谈制氢电源及英飞凌解决方案
  • 微算法科技(NASDAQ:MLGO)研究分布式量子计算,释放量子计算潜能
  • AI 重塑招聘三角:Moka 招聘智能体如何实现 HR、候选人与企业的三方共赢
  • Flash Attention原理
  • MSMQ 跨服务器读写队列的“消息队列系统的访问被拒绝”的解决方案
  • opencv学习记录1
  • kylin V10SP3安装mysql5.7.42
  • MATLAB 仿真无线传感器网络(WSN)三大经典场景
  • 9.05 DP 专题
  • Linux时间同步---NTP时间同步方案
  • java预习
  • B/S体系结构风格
  • The 2024 CCPC Online Contest 7/12 L/B/K/D/J/E/C
  • 在joule里面使用agent 功能
  • Feign动态URL配置
  • 自动化部署工具 Jenkins 的安装与配置
  • pip 搭建源
  • qoj10093 Jump the Frog
  • new 和make
  • Ceres 常用 LossFunction 对比
  • python函数
  • git使用
  • 测试开发全日制学徒班火热报名中|跟着名企大咖做真实项目,结业即上岗
  • 墨刀是否能替代Axure?从产品经理三大画图能力深度分析
  • AI 自动化智能体训练营