配套资料,免费下载
链接:https://pan.baidu.com/s/1jA217UgqXpONi_fV-aOzqw
提取码:bm2g
复制这段内容后打开百度网盘手机App,操作更方便哦
注意:学习MyBatis请参考我的另外一篇文章:https://caochenlei.blog.csdn.net/article/details/108809821
1、创建工程
2、导入依赖
导入数据库连接池场景启动器:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.4</version>
</dependency>
修改默认数据库连接驱动为5.x:
<properties>
<java.version>1.8</java.version>
<mysql.version>5.1.49</mysql.version>
</properties>
3、修改配置
创建包结构:
- com.caochenlei.integrationmybatis.entity
- com.caochenlei.integrationmybatis.vo
- com.caochenlei.integrationmybatis.mapper
- com.caochenlei.integrationmybatis.service
- com.caochenlei.integrationmybatis.controller
创建数据库:
DROP DATABASE IF EXISTS `test`;
CREATE DATABASE `test`;
USE `test`;
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`uid` INT(11) NOT NULL AUTO_INCREMENT,
`uname` VARCHAR(20) NOT NULL,
`ugender` VARCHAR(20) NOT NULL,
`uage` INT(11) NOT NULL,
PRIMARY KEY (`uid`)
) ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO `test`.`t_user` (`uname`, `ugender`, `uage`) VALUES ('张三', '男', '18');
INSERT INTO `test`.`t_user` (`uname`, `uage`) VALUES ('李四', '女', '19');
INSERT INTO `test`.`t_user` (`uname`, `uage`) VALUES ('王五', '20');
配置数据源:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test
username: root
password: 123456
#druid控制台访问地址:http://localhost:8080/druid
druid:
filters: stat,wall
stat-view-servlet:
enabled: true
login-username: admin
login-password: admin
web-stat-filter:
enabled: true
urlPattern: /*
exclusions: '*.css,*.js,*.gif,*.jpg,*.png,*.ico,/druid/*'
mybatis:
#配置 mybatis 配置文件位置
config-location: classpath:mybatis/mybatis-config.xml
#配置 mybatis 映射文件位置
mapper-locations: classpath:mybatis/mapper/*.xml
4、增删改查
com.caochenlei.integrationmybatis.vo.Result
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {
private Boolean success;
private Object data;
private String message;
}
com.caochenlei.integrationmybatis.entity.User
@Data
public class User{
private Integer uid;
private String uname;
private String ugender;
private Integer uage;
}
com.caochenlei.integrationmybatis.mapper.UserMapper
@Mapper
public interface UserMapper {
//查找一个用户
public User findOne(Integer id);
//查找所有用户
public List<User> findAll();
//添加一个用户
public Integer save(User user);
//删除一个用户
public Integer delete(Integer id);
//修改一个用户
public Integer update(User user);
}
src\main\resources\mybatis\mapper\UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.caochenlei.integrationmybatis.mapper.UserMapper">
<!--查找一个用户-->
<select id="findOne" resultType="com.caochenlei.integrationmybatis.entity.User">
select * from t_user where uid=#{id}
</select>
<!--查找所有用户-->
<select id="findAll" resultType="com.caochenlei.integrationmybatis.entity.User">
select * from t_user
</select>
<!--添加一个用户-->
<insert id="save" useGeneratedKeys="true" keyProperty="uid">
insert into t_user(uname,ugender,uage)
values(#{uname},#{ugender},#{uage})
</insert>
<!--删除一个用户-->
<delete id="delete">
delete from t_user where uid=#{id}
</delete>
<!--修改一个用户-->
<update id="update">
update t_user
set uname=#{uname},ugender=#{ugender},uage=#{uage}
where uid=#{uid}
</update>
</mapper>
src\main\resources\mybatis\mybatis-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
com.caochenlei.integrationmybatis.service.UserService
public interface UserService {
//查找一个用户
public User findOne(Integer id);
//查找所有用户
public List<User> findAll();
//添加一个用户
public Integer save(User user);
//删除一个用户
public Integer delete(Integer id);
//修改一个用户
public Integer update(User user);
}
com.caochenlei.integrationmybatis.service.impl.UserServiceImpl
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User findOne(Integer id) {
return userMapper.findOne(id);
}
@Override
public List<User> findAll() {
return userMapper.findAll();
}
@Override
public Integer save(User user) {
return userMapper.save(user);
}
@Override
public Integer delete(Integer id) {
return userMapper.delete(id);
}
@Override
public Integer update(User user) {
return userMapper.update(user);
}
}
com.caochenlei.integrationmybatis.controller.UserController
@RestController
public class UserController {
@Autowired
private UserService userService;
//查找一个用户
@GetMapping("/users/{id}")
public Result findOne(@PathVariable Integer id) {
User user = userService.findOne(id);
return new Result(true, user, "操作成功");
}
//查找所有用户
@GetMapping("/users")
public Result findAll() {
List<User> users = userService.findAll();
return new Result(true, users, "操作成功");
}
//添加一个用户
@PostMapping("/users")
public Result save(@RequestBody User user) {
Integer rows = userService.save(user);
if (rows > 0) {
return new Result(true, rows, "操作成功");
} else {
return new Result(false, "操作失败");
}
}
//删除一个用户
@DeleteMapping("/users/{id}")
public Result delete(@PathVariable Integer id) {
Integer rows = userService.delete(id);
if (rows > 0) {
return new Result(true, "操作失败");
}
}
//修改一个用户
@PutMapping("/users")
public Result update(@RequestBody User user) {
Integer rows = userService.update(user);
if (rows > 0) {
return new Result(true, "操作失败");
}
}
}
5、测试接口
- 查找一个用户
- 查找所有用户
- 添加一个用户
- 删除一个用户
- 修改一个用户
原文地址:https://caochenlei.blog.csdn.net
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。