SpringBoot整合Mybatis注解开发的实现代码
官方文档:
https://mybatis.org/mybatis-3/zh/getting-started.html
SpringBoot整合Mybatis引入maven依赖
(IDEA建项目的时候直接选就可以了)
org.mybatis.spring.boot mybatis-spring-boot-starter 2.1.4
配置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类实体类
packagecom.example.mybatisDemo.entity;
importlombok.AllArgsConstructor;
importlombok.Data;
importlombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
publicclassUser{
privatelongid;
privateStringname;
privateStringpwd;
}
Controller类
packagecom.example.mybatisDemo.controller;
importcom.example.mybatisDemo.entity.User;
importcom.example.mybatisDemo.service.UserService;
importorg.springframework.web.bind.annotation.*;
importjava.util.*;
@RestController
@RequestMapping("api/user")
publicclassUserController{
privatefinalUserServiceuserService;
publicUserController(UserServiceuserService){
this.userService=userService;
}
@GetMapping()
publicListgetAllUsers(){
returnuserService.getUsers();
}
@DeleteMapping("{id}")
publicintdeleteUser(@PathVariablelongid){
returnuserService.deleteUser(id);
}
@PostMapping
publicintsaveUser(@RequestBodyUseruser){
returnuserService.insertUser(user);
}
@PutMapping
publicintupdateUser(@RequestBodyUseruser){
returnuserService.updateUser(user);
}
@GetMapping("{id}")
publicUsergetUser(@PathVariablelongid){
returnuserService.getUser(id);
}
}
Service类
packagecom.example.mybatisDemo.service;
importcom.example.mybatisDemo.entity.User;
importcom.example.mybatisDemo.repository.UserRepository;
importorg.springframework.stereotype.Service;
importjava.util.*;
@Service
publicclassUserService{
privatefinalUserRepositoryuserRepository;
publicUserService(UserRepositoryuserRepository){
this.userRepository=userRepository;
}
publicListgetUsers(){
returnuserRepository.getUsers();
}
publicintdeleteUser(longid){
returnuserRepository.deleteUser(id);
}
publicUsergetUser(longid){
returnuserRepository.getUser(id);
}
publicintupdateUser(Useruser){
returnuserRepository.updateUser(user);
}
publicintinsertUser(Useruser){
returnuserRepository.addUser(user);
}
}
建Repository类
packagecom.example.mybatisDemo.repository;
importcom.example.mybatisDemo.entity.User;
importorg.apache.ibatis.annotations.*;
importorg.springframework.stereotype.Repository;
importjava.util.*;
/**
*Mapper注解能省去以前复杂的xml配置,直接用注解写sql语句
*不添加Repository注解依赖注入会报错(不影响运行),强迫症还是加上吧
*/
@Mapper
@Repository
publicinterfaceUserRepository{
@Select("select*fromuser")
ListgetUsers();
@Delete("deletefromuserwhereid=#{id}")
intdeleteUser(longid);
@Insert("insertintouser(id,name,pwd)values(#{id},#{name},#{pwd})")
intaddUser(Useruser);
@Update("updateusersetname=#{name},pwd=#{pwd}whereid=#{id}")
intupdateUser(Useruser);
@Select("select*fromuserwhereid=#{id}")
UsergetUser(longid);
}
然后直接调用即可
这里有个问题,使用注解开发的话sql语句全写在注解里,那么如果要实现批量更新插入要怎么写呢,目前还没解决,找到办法再更
到此这篇关于SpringBoot整合Mybatis注解开发的实现代码的文章就介绍到这了,更多相关SpringBoot整合Mybatis注解开发内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。