Eclipse JPA Project创建
文章目录
- JPA 是什么?
- 关于Eclipse Link
- 在Eclipse中建立 JPA项目
- 从表导出JPA注解映射的实体类
- 从表导出XML映射
JPA 是什么?
Java Persistence API, Java持久化接口。
是官方的数据访问的规范和接口。
针对此接口, 有不同的实现。比如: Hibernate, Top Link(Eclipse Link)
关于Eclipse Link
来源于TopLink, TopLink是Oracle提供的数据接口的实现,应用在 Weblogic的应用服务器上。 后来捐给了 Eclipse, Eclipse很高兴的发扬光大, 改了个名字, 而且很自然的集成到 Eclipse的IDE中了。
在Eclipse中建立 JPA项目
- File->New->Other
- 找到JPA目录下的 JPA Project
3.下一步直到出现如下页面
因为JPA只是接口, 所以需要下载实现。 点击下载按钮, 下载之后会出现如上效果。
下面有一个 Add connection,可以添加数据库连接, 有连接之后后面就可以把数据库的表导出为实体类。
这里不添加也可以在项目创建完成之后,在右键单击项目进入属性页面的 JPA中设置。
- 点击Finish创建完成, 目录结构如下:
默认会创建一个persistence.xml的配置文件。
从表导出JPA注解映射的实体类
在项目运行的时候,连接不同的数据库, 需要下载对应的驱动, 并导入到项目的路径中
从Table导出实体类的方式:
右键 New 选择JPA Entities from Tables
导出的是基于注解的类, 类的映射会自动加到persistence.xml。
这里导出的是User 表,表很简单,只有id和name两个属性。 默认导出到 model包下
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"><persistence-unit name="jpa"><class>model.User</class></persistence-unit>
</persistence>
从表导出XML映射
基于注解的映射是JPA较为常见的方式,如有已经有类或是习惯hibernate早期XML的映射配置, 要使用 XML的方式配置映射,选择 EclipseLink下面的Dynamic Entities from Tables 导出XML的映射。
1.会产生配置文件: eclipselink-orm.xml
<?xml version="1.0" encoding="UTF-8"?> select u from User u
2.会把产生的文件添加到persistence.xml
<?xml version="1.0" encoding="UTF-8"?> META-INF/eclipselink-orm.xml ```
要运行测试的话, 需要做一些改动, 以 XML为例,附上改动后完整的代码:
- eclipselink-orm.xml
<?xml version="1.0" encoding="UTF-8"?>
<entity-mappings version="2.1" xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.eclipse.org/eclipselink/xsds/persistence/orm http://www.eclipse.org/eclipselink/xsds/eclipselink_orm_2_1.xsd"><named-query name="User.findAll"><query>select u from User u</query></named-query><entity class="model.User" access="VIRTUAL"><attributes><id name="id" attribute-type="String"></id><basic name="name" attribute-type="String"></basic></attributes></entity>
</entity-mappings>
- persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"><persistence-unit name="jpaProj"><provider>org.eclipse.persistence.jpa.PersistenceProvider</provider><mapping-file>META-INF/eclipselink-orm.xml</mapping-file><properties><property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/ssmi?serverTimezone=UTC" /><property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /><property name="javax.persistence.jdbc.user" value="root" /><property name="javax.persistence.jdbc.password" value="123456" /></properties></persistence-unit>
</persistence>
- User.java
public class User {private String id;private String name;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}
4.JpaDemo.java
public class JpaDemo {/*** @Title: main* @Description: TODO* @param args*/public static void main(String[] args) {EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("jpaProj");EntityManager entityManager = entityManagerFactory.createEntityManager();entityManager.getTransaction().begin();// List<User> result = entityManager.createNamedQuery("User.findAll").getResultList();List<User> result = entityManager.createQuery("select u " + "from User u ").getResultList();for (User user : result) {System.out.println(user.getName());}entityManager.getTransaction().commit();entityManager.close();}}
注意: 类和表的名字保持一致。
Eclipse JPA Project创建相关推荐
- eclipse 构建 jpa project 所需的用户库(vendor: EclipseLink)
Eclipse 构建 JPA Project 时,需要指定 JPA的实现,如:下图中的EclipseLink 2.7.3,这其实是一个自定义的用户库. 看看,这个用户库包含persistence接口和 ...
- eclipse右下角一直提示“jpa project change event handler” 用着很卡
问题描述 在是用eclipse时,右下角一直提示"jpa project change event handler" ,用着非常卡 解决方法 Preferences–>Ins ...
- eclipse 使用maven 创建springmvc + mybatis
接着eclipse 使用maven 创建纯spring mvc项目 毕竟项目都要访问数据库的, 所以加上mybatis的支持也就是网上大多时候说的 SSM框架的搭建(Spring + Spring M ...
- jPA自动创建数据库表的一些配置
2019独角兽企业重金招聘Python工程师标准>>> jPA自动创建数据库表的一些配置 hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如 ...
- eclipse maven maven-archetype-webapp 创建失败
如果在eclipse中发现创建maven失败,大部分的原因是因为本地仓库坏了,或是少东西了,最直接的方法就时删掉重新下载就好了 转载于:https://www.cnblogs.com/xiaohuih ...
- 如何在eclipse jee中创建Maven project并且转换为Dynamic web project
转自:http://www.javaniu.com/maven-jee-dynamic-web-project.htm 注意:该文档只针对以下eclipse版本,如图 一.在eclipse的官方站点下 ...
- eclipse 中 project facets
阅读数:2347 facets中文翻译为:(事物的)面,方面 在eclipses中的facets可以理解为:项目的特性,某一方面功能.主流 IDE (Eclipse IDEA) 都提供了 facet ...
- eclipse怎么创建web项目html,eclipse入门之创建第一个web程序(jsp测试环境)
1.首先我们打开eclipse 2.下面我们去eclipse配置tomcat a) 菜单栏选择window--preferences b) 在向导视图中找到Server c) 在Server点击箭头, ...
- 为Eclipse plug-in(插件)创建语言包
在我们的应用中,难免会遇到国际化的问题,ECLIPSE RCP给我们提供了很好的方案,甚至可以在后期批处理完成,但如果是其它插件未提供我们需要的语言版呢?我们可以如何为它们提供语言包呢? 一个简单的例 ...
最新文章
- 4104 oracle 数据文件名,Oracle 11g 常遇到ora-01034错误,这是为什么?
- hdu5491(2015合肥网络赛H题)
- java附加属性_Java 9附加流
- 零基础mysql项目实例_MySQL-零基础开发
- 最可怕的八种黑客手段,网络攻击真是无孔不入!【转载】
- 【RMQ问题】求数组区间最大值,NYOJ-1185-最大最小值
- 解决默写浏览器中点击input输入框时,placeholder的值不消失的方法
- 如何避免delete和delete[]的尴尬?
- Android中导入Unity项目,界面点击事件失去焦点问题
- @Bean和@Componet区别
- VBS 控制 Windos 系统音量 及视频播放
- 常用通信光缆型号是如何命名的
- 《学习Oracle从这里开始》之常用SQL篇
- 轻量级私有云存储企业主要功能探析
- 《objective-c程序设计》学习笔记
- JavaScript中onblur事件
- java邮件数据库_javamail-demo(完整源码+数据库)
- 女程序猿做了个梦,各路大神惊现神级评论!
- 达人评测 i5 1155G7和i5 1135G7的差距大不大
- 伺服器对比:S3010,S-U400