Java 如何将JPA添加到现有的eclipse项目中?
我有一个现有的eclipse项目(JAVA应用程序),现在我创建了一个表 在xampp-phpMyAdmin中。 在该项目中,我需要以两种方式实现所有查询和数据库: 1) JDBC 2) JPA 并使用弹簧机构选择其中一个 所以我有一些问题: 1) 如何将JPA添加到现有项目中?因为我读到我需要Java 如何将JPA添加到现有的eclipse项目中?,java,spring,jpa,jdbc,phpmyadmin,Java,Spring,Jpa,Jdbc,Phpmyadmin,我有一个现有的eclipse项目(JAVA应用程序),现在我创建了一个表 在xampp-phpMyAdmin中。 在该项目中,我需要以两种方式实现所有查询和数据库: 1) JDBC 2) JPA 并使用弹簧机构选择其中一个 所以我有一些问题: 1) 如何将JPA添加到现有项目中?因为我读到我需要 有一个“persistence.xml”文件,该文件需要位于“META-INF”文件夹中 我在java项目中没有 2) 如何使用JPA连接到phpMyAdmin中的数据库 3) 如何使用Spring机制
有一个“persistence.xml”文件,该文件需要位于“META-INF”文件夹中 我在java项目中没有 2) 如何使用JPA连接到phpMyAdmin中的数据库
3) 如何使用Spring机制在JDBC和JPA之间进行选择?回答部分问题,如果您使用Hibernate作为JPA提供程序,您可以通过以下方式从JPA更改为JDBC:
Session session = em.unwrap(Session.class);
session.doWork(new Work() {
@Override
public void execute(Connection connection) throws SQLException {
Statement stmt = connection.createStatement();
String nativeSql = "SELECT * FROM USERS";
stmt.executeUpdate(nativeSql);
stmt.close();
}
});
回答问题1和2:
正如您所说,您只需要创建一个名为persistence.xml的文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="MyJPA" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/mydb"/>
<property name="javax.persistence.jdbc.user" value="user"/>
<property name="javax.persistence.jdbc.password" value="pass"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>
</properties>
</persistence-unit>
</persistence>
org.hibernate.ejb.HibernatePersistence
现在,关于Spring与JPA的合作方式,我不能回答你,也许是其他人。但我希望这能有所帮助
1) 如何将JPA添加到现有项目中?因为我读到我
需要有一个“persistence.xml”文件,该文件需要位于
“META-INF”文件夹,我在java项目中没有该文件夹
您可以手动添加它
样品
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="foo" transaction-type="RESOURCE_LOCAL">
<class>org.bar.foobar</class>
// Add required classes here
</persistence-unit>
// You can add more persistence unit as per required.
</persistence>
org.bar.foobar
//在此处添加必需的类
//您可以根据需要添加更多的持久性单元。
2) 如何使用JPA连接到phpMyAdmin中的数据库
phpMyAdmin
只是另一个使用MySQL的工具,您应该关注数据库而不是工具。检查此项,您可能会发现此项很有帮助
3) 如何使用Spring机制在JDBC和JPA之间进行选择
JDBC是最低级别的,其他的则构建在它之上。说到性能,我更喜欢JDBC。另外,当我只想频繁编辑某个专栏时,我更喜欢JDBC而不是JPA
JDBC的优势
- 对于小程序来说,它是干净和容易的
- JDBC提供了大量数据的良好性能
- 可以非常容易地开发小型JDBC程序
- 非常适合小型应用
- 如果在大型项目中使用JDBC,就不容易了。有一个很大的问题 编程开销
- 程序员必须在应用程序中硬编码事务和并发代码
- 处理JDBC连接并正确关闭连接也是一个大问题。必须正确关闭连接
- JDBC不适合大型应用程序
- 不需要处理SQL查询来保存和检索数据
- 简单配置
- 用于持久化业务对象的标准化API
- 应用的快速发展
- 并发支持
- 卓越的兑现支持,可提高应用程序的性能
- 注入式事务管理
- 可配置日志记录
- 易学易用
- 大批量更新时性能较慢
- 比JDBC慢一点