Spring Boot 添加MySQL数据库及JPA

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

配置:

pom.xml文件

<!-- 添加Mysql和JPA-->
        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
在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<User> 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):

表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<User, Long> {

    public User findById(Long id);

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

结果1

方法我就不一一操作了。

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

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供关于使用Spring Boot连接MySQL数据库的一些基本信息和步骤。 首先,您需要在您的Spring Boot项目中添加MySQL连接器的依赖。可以在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>{MySQL版本号}</version> </dependency> ``` 请确保将 {MySQL版本号} 替换为您正在使用的MySQL版本号。 接下来,您需要在application.properties文件中配置数据库连接信息。例如: ``` spring.datasource.url=jdbc:mysql://localhost:3306/{数据库名}?useSSL=false&serverTimezone=UTC spring.datasource.username={用户名} spring.datasource.password={密码} spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ``` 请将 {数据库名}、{用户名} 和 {密码} 替换为您的MySQL数据库的实际信息。 最后,您可以通过使用Spring Data JPA或MyBatis等持久化框架来访问数据库。例如,您可以创建一个Person实体类,并使用JPA注解来映射到数据库中的表: ``` @Entity @Table(name = "person") public class Person { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "name") private String name; @Column(name = "age") private Integer age; // 省略getter和setter方法 } ``` 然后,您可以创建一个PersonRepository接口来访问数据库中的Person表: ``` @Repository public interface PersonRepository extends JpaRepository<Person, Long> { } ``` 现在,您可以使用PersonRepository接口中提供的方法来访问数据库中的数据了,例如: ``` @Autowired private PersonRepository personRepository; public void savePerson(Person person) { personRepository.save(person); } public List<Person> getAllPeople() { return personRepository.findAll(); } ``` 以上就是使用Spring Boot连接MySQL数据库的一些基本信息和步骤。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值