Spring Boot 添加MySQL数据库及JPA

继续前面的学习,这一次我们加入MySQL数据库和JPA。

配置:

pom.xml文件


        
        org.springframework.boot
        spring-boot-starter-data-jpa
        
        
            mysql
            mysql-connector-java
        
在Application.properties(在resource文件夹下新建,进行配置)文件中添加数据进行配置:

spring.datasource.url = jdbc:mysql://localhost:3306/spring_boot
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver


# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy

# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
User类

package com.seawater.bean;

import javax.persistence.*;
import javax.validation.constraints.NotNull;

/**
 * Created by zhouhs on 2016/12/30.
 */
@Entity
@Table(name = "user")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String name;
    private int age;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
UserController

package com.seawater.controller;

import com.seawater.Dao.UserDao;
import com.seawater.bean.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * Created by zhouhs on 2016/12/30.
 */
@RestController
@RequestMapping(value = "/user")
@Api(description = "用户")
public class UserController {

    @Resource
    UserDao userDAO;


    @ApiOperation(value = "添加用户")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "name" , value = "name" , paramType = "query" , required = true ),
            @ApiImplicitParam(name = "age" , value = "age" , paramType = "query" , required = true )
    })
    @RequestMapping(value = "/addUser" , method = RequestMethod.POST)
    public String addUser(@RequestParam(value = "name") String name,@RequestParam(value = "age") int age){

        User user = new User();
        user.setName(name);
        user.setAge(age);

        userDAO.save(user);

        return "add user success !";
    }


    @ApiOperation(value = "查找用户")
    @ApiImplicitParam(name = "id" , value = "id" , paramType = "query" , required = true , dataType = "int")
    @RequestMapping(value = "/findById" , method = RequestMethod.POST)
    public String findById(@RequestParam(value = "id") Long id){

        User user = userDAO.findById(id);

        if(user == null){
            return "error";
        }else{
            return "name:" + user.getName() + " , age:" + user.getAge();
        }
    }


    @ApiOperation(value = "查询所有用户")
    @RequestMapping(value = "/findAll" , method = RequestMethod.POST)
    public Iterable findAll(){

        Iterable userList = userDAO.findAll();

        return userList;

    }

    @ApiOperation(value = "删除用户")
    @ApiImplicitParam(name = "id" , value = "id" , paramType = "query" , required = true , dataType = "int")
    @RequestMapping(value = "/deleteById" , method = RequestMethod.POST)
    public String deleteById(@RequestParam(value = "id") Long id){

        userDAO.delete(id);
        return "delete success !";

    }



}
数据表(id定义为Integer):

Spring Boot 添加MySQL数据库及JPA_第1张图片


UserDao:

package com.seawater.Dao;

import com.seawater.bean.User;
import org.springframework.data.repository.CrudRepository;

/**
 * Created by zhouhs on 2016/12/30.
 */
public interface UserDao extends CrudRepository {

    public User findById(Long id);

}
然后启动项目:访问http://localhost:8081/swagger-ui.html
结果:

Spring Boot 添加MySQL数据库及JPA_第2张图片

方法我就不一一操作了。

源码地址(项目中的源码可能会更多哦,需要自己找到对应源码):

你可能感兴趣的:(Spring,boot)