• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Java > 详解在Spring Boot中使用Mysql和JPA

详解在Spring Boot中使用Mysql和JPA

作者:qiyadeng 字体:[增加 减小] 来源:互联网 时间:2017-05-28

qiyadeng 通过本文主要向大家介绍了spring boot jpa,spring boot data jpa,spring boot jpa配置,spring boot jpa教程,spring data jpa等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文向你展示如何在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>
</div>

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
</div>

全部的配置都在如上的文件中了,不需要另外的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
</div>

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);
} 
</div>

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.";
  }
 }
</div>

你可以使用浏览器访问url http://127.0.0.1:8080/get-by-email?email=qiyadeng@gmail.com,可以获得用户的Id(你可以先在Mysql数据库中新增一条记录)。

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 详解基于Spring Boot与Spring Data JPA的多数据源配置
  • Spring Boot + Jpa(Hibernate) 架构基本配置详解
  • 详解在Spring Boot中使用JPA
  • spring boot日志管理配置
  • 详解在Spring Boot中使用Mysql和JPA
  • Spring Boot 添加MySQL数据库及JPA实例
  • Spring Boot JPA访问Mysql示例
  • 详解基于Spring Boot与Spring Data JPA的多数据源配置
  • Spring Boot + Jpa(Hibernate) 架构基本配置详解
  • 详解在Spring Boot中使用JPA

相关文章

  • 2017-05-28java处理按钮点击事件的方法
  • 2017-08-27java 中StringBuffer中常用的方法
  • 2017-05-28详解Java从后台重定向(redirect)到另一个项目的方法
  • 2017-05-28详解spring security 配置多个AuthenticationProvider
  • 2017-05-28spring boot(三)之Spring Boot中Redis的使用
  • 2017-05-28详解springMVC—三种控制器controller
  • 2017-05-28JAVA JSP页面技术之EL表达式整理归纳总结
  • 2017-05-28详解Java中的增强 for 循环 foreach
  • 2017-05-28java springmvc乱码解决归纳整理详解
  • 2017-05-28Java 用反射设置对象的属性值实例详解

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 浅谈java里的EL表达式在JSP中不能解析的问题
    • springMVC发送邮件的简单实现
    • Java集合Map常见问题_动力节点Java学院整理
    • Java中的functor实现
    • java文件上传Demo(必看篇)
    • 用java实现一个简易编译器1-词法解析入门
    • Java this()和super()的使用注意
    • Java基于正则表达式实现的替换匹配文本功能【经典实例】
    • Kotlin 基础语法详细介绍
    • 详解Java中-classpath和路径的使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有