全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解在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数据库中新增一条记录)。

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


# springboot  # mysql  # jpa  # spring  # boot  # 使用jpa  # boot使用mysql  # Spring Boot Mysql 数据库操作示例  # Spring Boot如何解决Mysql断连问题  # Spring Boot 添加MySQL数据库及JPA实例  # Spring Boot中使用jdbctemplate 操作MYSQL数据库实例  # SpringBoot连接MYSQL数据库并使用JPA进行操作  # Spring Boot JPA访问Mysql示例  # SpringBoot用JdbcTemplates访问Mysql实例代码  # SpringBoot入门系列之JPA mysql  # Spring boot 使用mysql实例详解  # Spring Boot高级教程之Spring Boot连接MySql数据库  # 你可以  # 还可以  # 都在  # 不需要  # 可以看到  # 中了  # 只需要  # 向你  # 可以获得  # 先在  # 数据库中  # 创建一个  # 配置文件  # 相对应  # 多得  # 大家多多  # 新建一个  # 本例  # 实现了  # 如何在 


相关文章: 建站之星云端配置指南:模板选择与SEO优化一键生成  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  香港服务器如何优化才能显著提升网站加载速度?  西安专业网站制作公司有哪些,陕西省建行官方网站?  表情包在线制作网站免费,表情包怎么弄?  装修招标网站设计制作流程,装修招标流程?  如何配置IIS站点权限与局域网访问?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何在七牛云存储上搭建网站并设置自定义域名?  青岛网站建设如何选择本地服务器?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  制作网站的模板软件,网站怎么建设?  建站之星北京办公室:智能建站系统与小程序生成方案解析  建站之星如何开启自定义404页面避免用户流失?  开心动漫网站制作软件下载,十分开心动画为何停播?  家庭服务器如何搭建个人网站?  招贴海报怎么做,什么是海报招贴?  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何彻底卸载建站之星软件?  建站之星导航配置指南:自助建站与SEO优化全解析  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何零基础在云服务器搭建WordPress站点?  如何在阿里云ECS服务器部署织梦CMS网站?  如何批量查询域名的建站时间记录?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  ,石家庄四十八中学官网?  在线制作视频网站免费,都有哪些好的动漫网站?  C#如何使用XPathNavigator高效查询XML  如何零基础开发自助建站系统?完整教程解析  定制建站方案优化指南:企业官网开发与建站费用解析  linux top下的 minerd 木马清除方法  如何在搬瓦工VPS快速搭建网站?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  建站主机SSH密钥生成步骤及常见问题解答?  XML的“混合内容”是什么 怎么用DTD或XSD定义  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何确保FTP站点访问权限与数据传输安全?  如何在橙子建站中快速调整背景颜色?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  建站之星安装步骤有哪些常见问题?  建站主机是什么?如何选择适合的建站主机?  三星网站视频制作教程下载,三星w23网页如何全屏?  宝塔面板创建网站无法访问?如何快速排查修复?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  南宁网站建设制作定制,南宁网站建设可以定制吗?  制作门户网站的参考文献在哪,小说网站怎么建立? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。