当前位置: 移动技术网 > IT编程>开发语言>Java > JPA案例

JPA案例

2019年09月03日  | 移动技术网IT编程  | 我要评论

jpa的核心配置:persistent.xml内容

 

配置persistent-unit节点:持久化单元

<persistence-unit name="" transaction-type="resource_local"></persistence-unit>
  • name:持久化单元名称
  • transaction-type:事务处理方式
  1. jta:分布式事务管理(不同的表分散在不同数据库,一个数据库一个链接)
  2. resource_local:本地事务管理(多个表存在一个数据库中)

jpa的实现方式

<provider>org.hibernate.jpa.hibernatepersistenceprovider</provider>

 数据库信息

  • 用户名:javax.persistence.jdbc.user
  • 密码:javax.persistence.jdbc.password
  • 驱动:javax.persistence.jdbc.driver
  • 数据库地址:javax.persistence.jdbc.url
1 <properties>
2             <property name="javax.persistence.jdbc.user" value="root"></property>
3             <property name="javax.persistence.jdbc.password" value="123456"></property>
4             <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.driver"></property>
5             <property name="javax.persistence.jdbc.url" value="jdbc:mysql:///jpa"></property>
6         </properties>

 

配置jpa实现方(hibernate)的配置信息

  • 显示sql:false | true
<property name="hibernate.show.sql" value="true"></property>  
  •  自动创建数据库表:hibernate.hbm2ddl.auto
<property name="hibernate.hbm2ddl.auto" value="create"></property>

 create:程序运行时创建数据库表(如果有表,先删除表再创建)

update:程序运行时不会创建表(如果有表,不会创建表)

none:不会创建表

 

编写客户的实体类

 1 package cn.itcast.domain;
 2 
 3 import lombok.data;
 4 
 5 @data
 6 public class customer {
 7 
 8     private long custid;//客户的主键
 9     private string custname;//户名称
10     private string custsource;//客户来源
11     private string custlevel;//客户级别
12     private string custindustry;//客户所属行业
13     private string custphone;//客户的联系方式
14     private string custaddress;//容户地址
15 
16 }

 小知识(@data)添加lombok依赖,即可实现setter和getter方法

使用ipa注解配置映射关系

  • @entity:声明实体类
  • @table:配宣实体类和表的映关系

name:配置数据库表的名称

@entity
@table(name ="cst_customer")

 

  • @id:声明主键的配置
  • @genneratedvalue:配置主键的生成策略

genneratedidentity:自增

@id
@generatedvalue(strategy = generationtype.identity)
private long custid;//客户的主键
  • @column:配置属性和字段的映射关系

name属性:数据库表中字段名称

@column(name = "cust_name")
private string custname;//客户名称

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网