网站建设资讯

NEWS

网站建设资讯

Mysql数据库与JPA如何在SpringBoot项目中使用

本篇文章为大家展示了MySQL数据库与JPA如何在Spring Boot项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

10年积累的做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有克拉玛依区免费网站建设让你可以放心的选择与我们合作。

1.Maven pom.xml文件

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


 
  org.springframework.boot
  spring-boot-starter-web
 
 
  org.springframework.boot
  spring-boot-starter-data-jpa
 
 
  mysql
  mysql-connector-java
 

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

上述内容就是Mysql数据库与JPA如何在Spring Boot项目中使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


网站名称:Mysql数据库与JPA如何在SpringBoot项目中使用
本文链接:http://cdweb.net/article/ipceip.html