初始SpringBoot(第一篇):SpringBoot整合Mybatis实现增删改查(CRUD)操作
2020-03-11 12:41
597 查看
文章目录
- 一 项目架构
- 二 项目实现
- 1. 数据库设计
- 2. 添加maven依赖(pom.xml)
- 3. 添加配置文件
- 4. Model层
- 5. Dao层
- 6. service层
- 7. Controller层
- 8. SpringBoot启动类
一 项目架构
开发工具: IntelliJ IDEA 2019.3.3 使用技术: SpringBoot+mybatis+maven+mysql 测试工具: postman 项目搭建:
二 项目实现
1. 数据库设计
create table `user`( id int(10) primary key auto_increment, username varchar(30), password varchar(30), gender varchar(10) ) #添加测试数据 insert into user values(default,"zs","123","男"); insert into user values(default,"ls","1234","女"); insert into user values(default,"ww","1235","男");
2. 添加maven依赖(pom.xml)
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.8.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- springboot 整合mybatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> </dependencies>
3. 添加配置文件
这里使用application.yml文件,相对于properties配置文件,yml有着天然树形结构,使得它看起来更加直观,不用重复的去写前缀,
spring: datasource: url: jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf8 username: root password: abc123 driver-class-name: com.mysql.jdbc.Driver
useUnicode=true&characterEncoding=utf8的作用:插入数据到mysql时不会出现中文乱码
4. Model层
可以使用Alt+Insert来生成getset方法和构造器方法
package com.example.demo.entity; /** * user实体 */ public class User { private int id; private String name; private String password; private String gender; public User() { } public User(String name, String password, String gender) { this.name = name; this.password = password; this.gender = gender; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", password='" + password + '\'' + ", gender='" + gender + '\'' + '}'; } }
5. Dao层
这里通过注解来实现增删改查,可以不用编写对应的xml文件
package com.example.demo.mapper; import com.example.demo.entity.User; import org.apache.ibatis.annotations.*; import java.util.List; public interface UserMapper { @Insert("insert into user values(default,#{name},#{password},#{gender})") public int insertUser(User user); @Select("select * from user") public List<User> selectAll(); @Delete("delete from user where id=#{id}") public int deleteUser(int id); @Update("update user set name=#{name},password=#{password},gender=#{gender} where id=#{id}") public int updateUser(User user); @Select("select * from user where name=#{name},password=#{password}") public int login(@Param("name") String name,@Param("password") String password); }
6. service层
package com.example.demo.service; import com.example.demo.entity.User; import com.example.demo.mapper.UserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * user服务层 */ @Service public class UserService { @Autowired private UserMapper userMapper; public int addUser(User user) { return userMapper.insertUser(user); } public List<User> findAll() { return userMapper.selectAll(); } public int updUser(User user) { return userMapper.updateUser(user); } public int delUser(int id) { return userMapper.deleteUser(id); } public int login(String name,String password){ return userMapper.login(name,password); } }
7. Controller层
做了五个简单的接口,查询全部用户,增加用户,删除用户,修改用户,用户登录
package com.example.demo.controller; import com.example.demo.entity.User; import com.example.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class UserController { @Autowired private UserService userService; @RequestMapping("index") public String index() { return "Hello world"; } @RequestMapping("/addUser") public String addUser() { User user = new User("zs", "123", "男"); return userService.addUser(user) > 0 ? "success" : "fail"; } @RequestMapping("/findAll") public List<User> findAll() { return userService.findAll(); } @RequestMapping("/updUser") public String updUser(int id) { User user = new User("ls", "123", "女"); user.setId(id); return userService.updUser(user) > 0 ? "success" : "fail"; } @RequestMapping("/delUser") public String delUser(int id) { return userService.delUser(id) > 0 ? "success" : "fail"; } @RequestMapping("/login") public String login(String name, String password) { return userService.login(name, password) > 0 ? "登录成功" : "登录失败"; } }
8. SpringBoot启动类
package com.example.demo; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.example.demo.mapper") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
三 项目测试
这里通过postman来测试接口
1.测试项目是否能跑起来
出现Hellow World表示项目部署成功,报错请检查配置以及注解是否正确
2.查询全部
出现以下结果表示整合mybatis成功,报错请检查application.yml文件名以及文件配置信息是否不对
3.增加用户
4.删除用户
5.修改用户
6.用户登录
四 总结
曾经看过这么一段话,当你的才华还不足以支撑你的野心时,你就应该静下心来好好学习,在此与各位共勉。
- 点赞 2
- 收藏
- 分享
- 文章举报
相关文章推荐
- 前后端分离之SpringBoot2.x整合mybatis实现数据库的增删改查操作(一)
- 前后端分离之SpringBoot2.x整合mybatis实现数据库的增删改查操作(二)
- Springboot整合Mybatis实现级联一对多CRUD操作
- 原 Spring + SpringMVC + Mybatis 整合,实现 CRUD (增删改查)
- SpringBoot2.X整合Mybatis实现增删改查(注解版)
- Spring boot整合Mybatis实现级联一对多CRUD操作的完整步骤
- SpringBoot2.X整合Mybatis+Thymeleaf实现增删改查(XML版)
- Spring Boot整合Mybatis并完成CRUD操作的实现示例
- Spring + SpringMVC + Mybatis 整合,实现 CRUD (增删改查)
- SpringBoot (六)-crud 员工的增删改查操作
- Kotlin整合Spring Boot实现数据库增删改查(mybatis版)
- Spring boot整合mybatis实现数据的CRUD
- [增删改查] SpringBoot 整合 MongoDB 之 MongoTemplate 实现 CRUD、分页接口
- springboot整合mybatis增删改查(四):完善增删改查及整合swgger2
- springBoot2.0整合myBatis(mysql)实现基本数据库操作
- SpringBoot整合Elasticsearch并实现CRUD操作
- Springboot整合Mybatis实现简单CRUD
- SpringBoot+maven整合mybatis实现增删改查
- SpringBoot整合Mybatis实现增删改查