Springboot整合Mybatis实现简单CRUD
2018-09-30 16:14
796 查看
目录
附上项目代码Githup地址:https://github.com/liuxianzhi/springboot
1.开发环境
windows-10
springboot-2.0.5
maven-3.5.4
mysql-8.0.11
jdk-8
2首先创建一个springboot项目
3.项目结构
实体类User.java
[code]package com.demo.entity; import org.springframework.stereotype.Component; @Component public class User { private Integer id; private String username; private String password; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + '}'; } }
Dao层UserMapper.java
[code]package com.demo.mapper; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; import com.demo.entity.User; import java.util.List; @Repository @Mapper public interface UserMapper { User getUserById(Integer id); List<User> listAll(); void addUser(User user); boolean updateUser(User user); boolean deleteUser(Integer id); }
Service层以及实现类
[code]package com.demo.service; import com.demo.entity.User; import java.util.List; public interface UserService { User getUserById(Integer id); List<User> listAll(); void addUser(User user); boolean updateUser(User user); boolean deleteUser(Integer id); }
[code]package com.demo.service.impl; import com.demo.entity.User; import com.demo.mapper.UserMapper; import com.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User getUserById(Integer id) { return userMapper.getUserById(id); } @Override public List<User> listAll(){ return userMapper.listAll(); } @Override public void addUser(User user) { userMapper.addUser(user); } @Override public boolean updateUser(User user) { return userMapper.updateUser(user); } @Override public boolean deleteUser(Integer id) { return userMapper.deleteUser(id); } }
Controller层
[code]package com.demo.controller; import com.demo.entity.User; import com.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import java.util.List; @RestController public class UserController { @Autowired private UserService userService; @Autowired private User user; //访问注册页面 @GetMapping("/register") public ModelAndView register(){ ModelAndView mav = new ModelAndView("register"); return mav; } //访问更新页面 @GetMapping("/change") public ModelAndView change(){ ModelAndView mav = new ModelAndView("change"); return mav; } //添加用户 @PostMapping("/add") public String addUser(@RequestParam("username")String username, @RequestParam("password")String password, HttpServletRequest request) { user.setUsername(username); user.setPassword(password); if(user.getUsername() !="" && user.getPassword() != ""){ userService.addUser(user); return "添加成功!"; } else{ return "添加失败!"; } } //根据ID查询用户 @GetMapping("/select/{id}") public User get(@PathVariable("id") Integer id) { return userService.getUserById(id); } //查询所有用户 @RequestMapping("/list") public List<User> list(){ return userService.listAll(); } //更新用户 @RequestMapping("/update") public String updateUser(@RequestParam("id") Integer id, @RequestParam("username") String username, @RequestParam("password") String password) { user.setId(id); user.setUsername(username); user.setPassword(password); if(id != null && username != "" && password != "") { userService.updateUser(user); return "修改成功!"; } else{ return "修改失败!"; } } //删除用户 @RequestMapping("/delete/{id}") public String deleteUser(@PathVariable("id") Integer id) { if(userService.deleteUser(id)){ return "删除成功!"; } else{ return "删除失败!"; } } }
mapper.xml
[code]<?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.demo.mapper.UserMapper"> <select id="getUserById" resultType="user" parameterType="user"> SELECT * FROM user where id = #{id} </select> <select id="listAll" resultType="user"> SELECT * FROM user </select> <insert id="addUser" parameterType="user"> INSERT INTO user(username,password) VALUES(#{username},#{password}) </insert> <update id="updateUser" parameterType="user"> UPDATE user SET username = #{username},password = #{password} where id = #{id} </update> <delete id="deleteUser" parameterType="user"> DELETE FROM user WHERE id = #{id} </delete> </mapper>
两个前台页面change.html 和 register.html
[code]<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <p>更新</p> <form action="/update" method="post"> <p>id:<input type="text" name="id" value=""></p> <p>username:<input type="text" name="username" /></p> <p>password:<input type="password" name="password" /></p> <p><input type="submit" value="update"/></p> </form> </body> </html>
[code]<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>index</title> </head> <body> <p>注册</p> <form action="/add" method="post"> <p>username:<input type="text" name="username" /></p> <p>password:<input type="password" name="password" /></p> <p><input type="submit" value="add"/></p> </form> </body> </html>
配置文件 application.yml
[code]spring: datasource: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/springboot?useSSL=false username: root password: 1234 thymeleaf: prefix: classpath:/templates/ suffix: .html mybatis: type-aliases-package: com.demo.entity mapper-locations: classpath:mappers/*.xml
pom.xml
[code]<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo-test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>demo-test</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
数据库表字段:
好了 下面我们进行测试
3.1添加数据
在浏览器中输入:http://localhost:8080/register
3.2查询数据
一个是根据id查询:http://localhost:8080/select/1
一个是查询所有用户:http://localhost:8080/list
3.3修改数据:
在浏览器中输入:http://localhost:8080/change
3.4删除数据:
在浏览器中输入:http://localhost:8080/delete/1
到此,本篇文章结束!如果有什么问题,请多多指教!
阅读更多
相关文章推荐
- Spring boot整合mybatis实现数据的CRUD
- spring boot mybatis 整合shiro简单实现登陆权限管理
- maven项目 spring-boot 整合 mybatis 实现查询功能demo
- Spring boot +Mybatis 实现多数据源(一:最简单版本)
- SpringBoot2.X 整合RedisTemplate 简单实现消息队列
- [增删改查] SpringBoot 整合 Solr 之 SolrClient 实现 CRUD、分页接口、高亮显示
- springboot 入门教程(6)--- 整合Spring data JPA实现CRUD(附源码)
- 一个简单的SpringBoot整合Mybatis项目
- Java爬虫初体验:简单抓取IT之家热评(整合Spring Boot+Elasticsearch+Redis+Mybatis)
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例(转)
- Spring Boot 整合 Mybatis 实现 Druid 多数据源详解
- springboot整合mybatis一个简单的demo
- MyBatis整合spring、spring MVC实现简单登陆,并在控制台添加sql语句打印
- Spring Boot整合Spring Security简单实现登入登出从零搭建教程
- SpringBoot整合Mybatis实现自动转换枚举类型
- spring boot mybatis 简单整合使用
- 原 Spring + SpringMVC + Mybatis 整合,实现 CRUD (增删改查)
- SpringMVC+Mybatis整合实现简单权限控制系统代码