您的位置:首页 > 编程语言 > Java开发

Springboot整合Mybatis实现简单CRUD

2018-09-30 16:14 796 查看

目录

1.开发环境

2首先创建一个springboot项目

3.项目结构

3.1添加数据

3.2查询数据

3.3修改数据:

3.4删除数据:

附上项目代码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

到此,本篇文章结束!如果有什么问题,请多多指教!

 

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: