Spring Boot:在Spring Boot中使用Mysql和JPA

转载 2015年11月20日 17:43:26

Spring Boot:在Spring Boot中使用Mysql和JPA


本文向你展示如何在Spring Boot的Web应用中使用Mysq数据库,也充分展示Spring Boot的优势(尽可能少的代码和配置)。数据访问层我们将使用Spring Data JPA和Hibernate(JPA的实现之一)。

1.Maven pom.xml文件

在你的项目中增加如下依赖文件

<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
  </dependency>
</dependencies>

2.属性配置文件application.properties

在src/main/resources/application.properties中设置数据源和jpa配置。

spring.datasource.url = jdbc:mysql://localhost:3306/test
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

全部的配置都在如上的文件中了,不需要另外的XML配置和Java配置。

上文中的数据库配置,你需要换成你的数据库的地址和用户名密码。

hibernate的ddl-auto=update配置表名,数据库的表和列会自动创建(根据Java实体的熟悉),这里可以看到更多得hibernate配置。

3.User实体

创建一个User实体,User包含三个属性id,email和name。User实体和Mysql数据库的users表相对应。

@Entity
@Table(name = "users")
public class User {
  // ==============
  // PRIVATE FIELDS
  // ==============
  // An autogenerated id (unique for each user in the db)
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private long id;
  // The user email
  @NotNull
  private String email;
  // The user name
  @NotNull
  private String name;
  // ==============
  // PUBLIC METHODS
  // ==============
  public User() { }
  public User(long id) {
    this.id = id;
  }
  // Getter and setter methods
  // ...
} // class User

4.User实体的数据访问层UserDao

本例中UserDao非常简单,只需要继承CrudRespositroy即可,CrudRespositroy已经实现了save,delete,deleteAll,findOne和findAll.

(比较神奇的时这些方法其实CrudRespositroy中其实并没有实现,并且通过对dao方法的命名还可以实现新的方法)

@Transactional
public interface UserDao extends CrudRepository<User, Long> {
  public User findByEmail(String email);

5.测试的控制器UserController

新建一个查询控制器UserController

@Controller
public class UserController {
    @RequestMapping("/get-by-email")
    @ResponseBody
    public String getByEmail(String email) {
      String userId;
      User user = userDao.findByEmail(email);
      if (user != null) {
        userId = String.valueOf(user.getId());
        return "The user id is: " + userId;
      }
      return "user " + email + " is not exist.";
    }
  }

你可以使用浏览器访问url http://127.0.0.1:8080/get-by-email?email=qiyadeng@gmail.com

,可以获得用户的Id(你可以先在Mysql数据库中新增一条记录)。



原文地址:http://www.qiyadeng.com/post/spring-boot-mysql-jpa?utm_source=tuicool&utm_medium=referral



SpringMVC+JPA+Mysql框架搭建

eclipse中新建maven项目,搭建springmvc+jpa+mysql环境步骤:使用druid数据连接池,开启ehcache二级缓存 步骤一:.先搭建Springmvc环境    /WEB-I...
  • Mooner_guo
  • Mooner_guo
  • 2015年03月29日 10:35
  • 3103

SpringData JPA操作MySQL数据库

1.首先在pom文件中加入下列依赖,一个使用jsp所需依赖,一个链接mysql使用的依赖 org.springframework.boot spring-boot-starter-d...
  • lom9357bye
  • lom9357bye
  • 2017年04月09日 20:10
  • 468

Spring mvc中使用Spring Data Jpa 连接Mysql数据库

首先说明以下,Spring Data Jpa的jar包已经不提供直接下载了,要用maven配置依赖项进行下载,可以在gitHub上下载一个名字叫es的项目里面配置了一个完整的Spring环境 , ...
  • sunbirdhan
  • sunbirdhan
  • 2015年03月18日 12:53
  • 3639

在 Spring Boot 中使用 JPA 和 MySQL

在Spring Boot中使用JPA和MySQL最近项目中需要使用到MySQL数据库,在此记录一下Spring Boot中使用JPA进行数据访问的基本过程。 本文的基本开发环境如下:spring-b...
  • xiaoyu90520
  • xiaoyu90520
  • 2017年03月21日 19:47
  • 1257

Spring-Data-Jpa配合MySQL实现简单的增、删、查、改

创建Maven项目 配置pom.xml仓库文件 junit junit 4.12 t...
  • baidu_34832026
  • baidu_34832026
  • 2017年05月31日 21:27
  • 509

SpringBoot --集成HBASE/基于SpringDataHadoop

前置工作 Hadoop安装配置 : hadoop-2.7.3Hbase安装配置: hbase-1.2.4zookeeper安装配置: zookeeper-3.4.9hbase-client中gua...
  • hxpjava1
  • hxpjava1
  • 2017年09月28日 20:13
  • 907

Spring Boot 实现HBase交互注意事项

使用Spring Boot框架实现HBase交互的选型 主要因为Spring Boot内嵌了Web容器,方便对应用进行微服务化开发和部署。所以打算将HBase的业务应用作为一个单服务进行开发和发布,...
  • Veechange
  • Veechange
  • 2016年10月28日 13:52
  • 4243

自定义spring-boot-starter-hbase

项目背景 代码 DubboAutoConfiguration DubboProperties DubboService springfactories github地址 打包 使用方式 依赖 集成 使...
  • JThink_
  • JThink_
  • 2017年03月21日 15:52
  • 2558

SpringBoot --集成HBASE/基于SpringDataHadoop

前置工作 Hadoop安装配置 : hadoop-2.7.3 Hbase安装配置: hbase-1.2.4 zookeeper安装配置: zookeeper-3.4.9 hbas...
  • cwenao
  • cwenao
  • 2017年02月27日 10:16
  • 7602

Spring Boot 添加MySQL数据库及JPA

Spring Boot 添加MySQL数据库及JPA
  • zhouseawater
  • zhouseawater
  • 2016年12月30日 17:17
  • 8656
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring Boot:在Spring Boot中使用Mysql和JPA
举报原因:
原因补充:

(最多只允许输入30个字)