Spring Boot 添加MySQL数据库及JPA实例

所属分类: 软件编程 / java 阅读数: 28
收藏 0 赞 0 分享

最近在学习Spring Boot,继续前面的学习,这一次我们加入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

方法我就不一一操作了。

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Java的面向对象编程基本概念学习笔记整理

这篇文章主要介绍了Java的面向对象编程基本概念学习笔记整理,包括类与方法以及多态等支持面向对象语言中的重要特点,需要的朋友可以参考下
收藏 0 赞 0 分享

Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法

这篇文章主要介绍了Eclipse下编写java程序突然不会自动生成R.java文件和包的解决办法 的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

基于Java实现杨辉三角 LeetCode Pascal's Triangle

这篇文章主要介绍了基于Java实现杨辉三角 LeetCode Pascal's Triangle的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

Java中Spring获取bean方法小结

Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中获取Spring配置的bean呢?下面通过本文给大家介绍Java中Spring获取bean方法小结,对spring获取bean方法相关知识感兴趣的朋友一起学习吧
收藏 0 赞 0 分享

如何计算Java对象占用了多少空间?

在Java中没有sizeof运算符,所以没办法知道一个对象到底占用了多大的空间,但是在分配对象的时候会有一些基本的规则,我们根据这些规则大致能判断出来对象大小,需要的朋友可以参考下
收藏 0 赞 0 分享

剖析Java中的事件处理与异常处理机制

这篇文章主要介绍了Java中的事件处理与异常处理机制,讲解Java是如何对事件或者异常作出响应以及定义异常的一些方法,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Java的Struts2框架的结构及其数据转移方式

这篇文章主要介绍了详解Java的Struts2框架的结构及其数据转移方式,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

Java封装好的mail包发送电子邮件的类

本文给大家分享了2个java封装好的mail包发送电子邮件的类,并附上使用方法,小伙伴们可以根据自己的需求自由选择。
收藏 0 赞 0 分享

在Java的Struts中判断是否调用AJAX及用拦截器对其优化

这篇文章主要介绍了在Java的Struts中判断是否调用AJAX及用拦截器对其优化的方法,Struts框架是Java的SSH三大web开发框架之一,需要的朋友可以参考下
收藏 0 赞 0 分享

java多线程Future和Callable类示例分享

JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们就来研究下Future和Callab
收藏 0 赞 0 分享
查看更多