SpringData+JPA基础、Spring/Springboot整合

JPA教程(基础API、Spring整合、Springboot整合)

JPA springdata 整合jpa 根据类创建表 无则建有则更 接口增删改查操作 类比springdata整合mongdb和es等

实例代码和资料

**一、**常见注解

注解 只有在spring或springboot环境下才可以在属性上加注解,否则强制getXX方法上加

@Entity			标志实体
@Table			别名,默认为实体名
@Id				必不可少 否则报错 指定主键
@GeneratedValue(strategy,generator) mysql支持identity、oracle支持sequence、auto默认自动选择、table通过表生成
@Column 标注的 columnDefinition 属性: 表示该字段在数据库中的实际类型 Date属性无法自动,String默认对应varchar
@Transient 		忽略映射	 自定义的getXX方法加上此注解  Spring环境下如果找不到对应属性会自动忽略
@Basic 		表示一个简单的属性到数据库表的字段的映射,对于没有任何标注的 getXxxx() 方法,默认即为@Basic
@Basic(fetch = FetchType.LAZY,optional = false)	懒加载、不允许为空
@Temporal(TemporalType.TIMESTAMP) 指定日期在数据库的类型 如date--年月日,timestamp年月日时分秒

映射关系相关注解 注意区分单向和双向映射

@JoinColumn(name="CUSTOMER_ID") 外键方
@ManyToOne(fetch=FetchType.LAZY) mappedby不和上面注解一起用	默认EAGER左外连接,懒加载获取时才查两次
@ManyToMany
@OneToOne
**二、**实体的状态:
  • 新建状态: 新创建的对象,尚未拥有持久性主键。 new没ID
  • 游离状态:拥有持久化主键,但是没有与持久化建立上下文环境new 有ID
  • 持久化状态:已经拥有持久性主键并和持久化建立了上下文环境
  • 删除状态: 拥有持久化主键,已经和持久化建立上下文环境,但是从数据库中删除
**三、**使用JPA持久化对象的步骤

1,创建 persistence.xml, 在这个文件中配置持久化单元
需要指定跟哪个数据库进行交互;
需要指定 JPA 使用哪个持久化的框架以及配置该框架的基本属性
2,创建实体类, 使用 annotation 来描述实体类跟数据库表之间的映射关系.
使用 JPA API 完成数据增加、删除、修改和查询操作
3,创建 EntityManagerFactory可指定属

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Spring Boot中整合Spring Data JPA,可以按照以下步骤进行操作: 1. 添加依赖:在项目的pom.xml文件中添加Spring Data JPA的依赖。可以使用以下依赖项: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> ``` 2. 配置数据源:在Spring的配置文件中配置数据源,例如application.properties或application.yml文件。根据你使用的数据库类型,配置对应的数据源相关信息,如数据库连接URL、用户名、密码等。 3. 定义实体类:创建与数据库表对应的实体类,并使用JPA注解进行映射。例如,在实体类上使用@Entity注解,指定表名、字段名,以及关系映射等。 4. 创建DAO接口:创建一个继承自JpaRepository或其子接口的DAO接口。这个接口将提供一些常用的CRUD操作方法,无需手动实现。 5. 编写业务逻辑:在Service层中编写业务逻辑代码,并调用DAO接口中定义的方法进行数据访问和操作。 6. 运行程序:启动Spring Boot应用程序,Spring Boot会自动创建数据源、实体类和DAO接口的实现,并根据需要执行数据库操作。 以下是一个简单的示例: 1. 创建实体类: ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; // getters and setters } ``` 2. 创建DAO接口: ```java public interface UserRepository extends JpaRepository<User, Long> { // 可以在此接口中添加自定义的查询方法 } ``` 3. 编写业务逻辑: ```java @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> getAllUsers() { return userRepository.findAll(); } public User getUserById(Long id) { return userRepository.findById(id).orElse(null); } public User saveUser(User user) { return userRepository.save(user); } public void deleteUser(Long id) { userRepository.deleteById(id); } } ``` 通过以上步骤,你就可以在Spring Boot应用程序中使用Spring Data JPA进行数据库访问和操作了。可以通过注入UserService来调用相应的方法,实现对数据库的增删改查操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值