java mapping调试_基本属性映射

python速查模块卷常用基本内置手册

78.6元

包邮

(需用券)

去购买 >

491f1ae0b6d8c8aec849c93e6c74af56.png

这块主要是根据网上的一些课程 自己记录的一些随便

这块课程主要是 使用springboot 然后数据库操作使用spring-data-jpa 框架是前后端分离 这个课程主要讲后端,还是用springsecurty等

jpa是一种orm的规范,根据网上的定义

JPA全称Java Persistence API,是一组用于将数据存入数据库的类和方法的集合。JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。

首先建立一个类

如图

72c057806de2c289331794e73a86396c.png

类中的@Entity注解意思是:说明这个class是一个实体类,并使用默认的orm规则,即class的名称对应的表明,class名就是字段名。

类中@Id表明:说明一个实体类的属性映射为数据库的主键列。

@Id也可以至于get方法之上。

@Lombok是一个插件是lombok,省略了setget方法。

@GneratedValue:

@GeneratedValue用于标注注解的生成策略,通过strategy属性来指定注解是哪种生成策略(这里用了@AUTO 其实正常来说正式环境 是没有这样 auto一般会使用雪花算法 来生成注解策略)

在java.persistence.GenerationType中定义了以下几种策略

-IDENTITY:采用id自增长方式来自增主键字段,Oracle 不支持这种方式

-AUTO:jpa自动选择合适的策略

–SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式

–TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。

运行springboot这个项目,同时观察数据库,在这之前记得要在application.properties进行如下操作:

39dcb6e4e815602f21a0701b8078ad89.png

这个时候运行 application主函数,这个时候观察数据库 ,看到已经生成表

a338bb5c5f7d4fb3f6f4bc328ffaecaf.png

这个时候 可以看到数据库表名和字段名都是跟Category这个类一样,但是这个时候 我想在表或者字段上加上前缀,这个时候可以使用@table,如图:

8bbb68263f2f181dfc48999be3e7c6d3.png

因为在application配置的策略是update  所有 这个时候 会新生成一张表 ,如果我想在在字段上 加前缀 可以使用@Column注解

@Entity

@Data

@Table(name= "rc_category")public classCategory {

@Id

@GeneratedValue(strategy=GenerationType.AUTO)privateLong id;

@Column(name= "rc_name")privateString name;

}

再次运行application,就会生成跟@Column对面的字段

b43249af1d3e89803dd3aa8f9e0007f3.png

但是有一些的时候一些字段不需要存到数据库中,我们可以使用@Transient这个注解

@Entity

@Data

@Table(name= "rc_category")public classCategory {

@Id

@GeneratedValue(strategy=GenerationType.AUTO)privateLong id;

@Column(name= "rc_name")privateString name;

@TransientprivateString xxxx;

}

运行application之后,如下图

e4266927bdea307bd2cb25b7b5deedb3.png

说明@Transient已经起作用

原文链接:https://www.cnblogs.com/baidoufu/p/8908181.html

java 11官方入门(第8版)教材

79.84元

包邮

(需用券)

去购买 >

f0f3f55624fb396b1764d42d6df88864.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值