使用Spring Data JPA 访问 Mysql 数据库-配置项

Spring Data JPA 配置及操作Mysql实战
本文介绍了如何使用Spring Data JPA访问Mysql数据库,包括配置数据源、添加依赖、设置数据库配置,并展示了User实体、JPA接口和Controller的代码示例。文章详细讲解了JPA主键生成策略,并通过实例演示了无需手动编写SQL即可实现数据的查询。

jpa操作数据库

注意:数据库采用的是本机数据库,下面是建表语句及初始化数据:

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user`  (
  `id` bigint(0) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `dpt_id` bigint(0) NULL DEFAULT NULL COMMENT '部门id',
  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `age` int(0) NULL DEFAULT NULL COMMENT '年龄',
  `email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `head_img` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '头像',
  
`spring-boot-starter-data-jpa` 是 Spring Boot 提供的一个用于简化数据访问层的依赖项。它包含了 Spring Data JPA 和 Hibernate 等核心组件,可以方便地与各种数据库进行交互。 `mysql-connector-java` 是 MySQL 官方提供的 JDBC 驱动,用于连接 MySQL 数据库。 将 `spring-boot-starter-data-jpa` 和 `mysql-connector-java` 结合在一起使用,可以构建一个基于 Spring Boot 的应用程序,该应用程序能够通过 JPA(Java Persistence API)轻松地与 MySQL 数据库进行交互。 ### 主要特性: 1. **自动配置**:Spring Boot 会自动配置数据源、实体管理器(EntityManager)和事务管理。 2. **JPA Repository**:提供了一个简单的接口来执行常见的数据库操作,如增删改查(CRUD)。 3. **依赖注入**:支持通过 Spring 的依赖注入机制来管理数据访问对象(DAO)。 4. **事务管理**:默认启用声明式事务管理,可以通过注解(如 `@Transactional`)来控制事务。 ### 使用方法: 1. **添加依赖**:在 `pom.xml` 文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> ``` 2. **配置数据源**:在 `application.properties` 或 `application.yml` 文件中配置数据库连接信息: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/your_database spring.datasource.username=root spring.datasource.password=your_password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true ``` 3. **创建实体类**:定义与数据库表对应的实体类,并使用 JPA 注解标注: ```java import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; // getters and setters } ``` 4. **创建 Repository 接口**:继承 `JpaRepository` 接口,实现基本的 CRUD 操作: ```java import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository<User, Long> { } ``` 5. **服务层和控制器**:编写业务逻辑和服务层代码,并通过控制器暴露 API 接口。 ### 示例: 以下是一个简单的 Spring Boot 应用示例,展示如何使用 `spring-boot-starter-data-jpa` 和 `mysql-connector-java` 进行数据库操作。 #### 1. 创建 Spring Boot 项目并添加依赖: 在 `pom.xml` 中添加上述依赖。 #### 2. 配置数据源: 在 `src/main/resources/application.properties` 中添加数据库连接配置。 #### 3. 创建实体类: ```java package com.example.demo.entity; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String email; // getters and setters } ``` #### 4. 创建 Repository 接口: ```java package com.example.demo.repository; import com.example.demo.entity.User; import org.springframework.data.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值