springboot配置jpa-创新互联
配置方式
站在用户的角度思考问题,与客户深入沟通,找到武汉网站设计与武汉网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广、空间域名、雅安服务器托管、企业邮箱。业务覆盖武汉地区。pom依赖
org.springframework.boot
spring-boot-starter-aop
application.xml配置
#jpa配置
spring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql= true
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
需要注意的是最后一行,用来定义命名策略,如果不设置,会使用默认的命名策略,比如建表时,会将有驼峰命名的转换为全小写,并用横线分割如:实体类名:userCommon,映射到表名就是user-common
使用方式
使用jpa有两种方式,一种是使用注解,另外一种是使用配置文件,这两种都可以实现,但是推荐使用注解,因为这种方式更加的简洁,且是主流趋势,下面主要介绍注解的方式。
在需要映射的实体类添加如下注解
@Entity :表明该类是一个实体类,添加了该注解后,才能被jpa扫描到
@Table:可以自定义表名
我们需要知道的是,上面两行注解就已经完成了jpa的映射,声明为实体类后,该类里面的属性默认都会进行映射到数据库,但是默认的往往是不符合我们的要求的,比如,命名、长度、主键、索引都是需要自己指定的,因此下面介绍一些常用的注解
扩展注解
在属性添加注解
主键:
@Id:一般用来声明主键
@GeneratedValue(strategy=GenerationType.IDENTITY):设置主键为自增
普通属性:无锡妇科检查医院 http://www.87554006.com/
@column:可以自定义列名或者定义其他的数据类型
比如@column(name=“content”, columnDefinition = “longtext”)
@Transient:不进行数据库的映射,类似于排除
页面直接得到格式化类型的值,主要针对日期类型
@Temporal(TemporalType.DATE):如1994-05-06
@Temporal(TemporalType.TIME):20:46:13
@Temporal(TemporalType.TIMESTAMP):1994-05-06 20:46:13
唯一索引
@Table(name = “表名”, uniqueConstraints = {
@UniqueConstraint(name = “索引名称”, columnNames = {“字段1”,“字段2”})
}),
表加index索引
@Table(name = “表名”,indexes = {
@Index(name = “索引名称”, columnList = “字段名”)
})
数据库初始化
对数据库的初始化往往也是经常用到的,我们创建的数据库一般都需要一些初始化的数据,配置方式如下
增加application.properties配置文件属性
spring.datasource.data=classpath:database/data.sql
spring.datasource.sql-script-encoding=utf-8
spring.datasource.initialization-mode=ALWAYS
创建data.sql文件,在项目启动的时候就会执行该sql文件,如果项目的数据已经被初始化,那么可以将最后一行的属性ALWAYS改为NEVER
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:springboot配置jpa-创新互联
本文网址:http://scjbc.cn/article/dphioh.html