hibernatJPA---【小白系列】0基础到熟练应用hibernate框架(十五)
2017-07-03 11:10
771 查看
JPA概念
Java Persistence API (java持久化API) 与JDBC性质一样,都属于规范。这套规范定义了如何以面向对象的方式操作数据库.这套出现在hibernate框架之后.受hibernate框架启发.其中与hibernate设计不同的是支持以注解的方式注册实体对象.hibernate率先宣布支持JPA
JPA环境搭建
1.导包
除了这两个文件夹下,还需要自己导入 数据库驱动,就不截图了
2.建立配置文件
JPA要求在src下建立META-INF文件夹,里面新建个persistence.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?> <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"> <!--Name属性用于定义持久化单元的名字 (name必选,空值也合法); transaction-type 指定事务类型(可选) 取值: JTA:Java Transaction Api 用于分布式事务 RESOURCE_LOCAL : 单连接事务 --> <persistence-unit name="abc" transaction-type="RESOURCE_LOCAL"> <!-- javax.persistence.PersistenceProvider接口的一个实现类(可选) --> <provider>org.hibernate.ejb.HibernatePersistence</provider> <!-- 显式列出实体类,在Java SE 环境中应该显式列出.(可选) <class>com.domain.Customer</class>--> <!--厂商专有属性(可选) 我们用的Hibernate,后面都是hibernate.cfg.xml中配置--> <properties> <!-- 数据库的连接信息 --> <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/test"/> <property name="hibernate.connection.username" value="root" /> <property name="hibernate.connection.password" value="1234" /> <!-- 指定方言 --> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" /> <!-- 生成DDL的策略 --> <property name="hibernate.hbm2ddl.auto" value="update" /> <!-- 是否显示SQL语句 --> <property name="hibernate.show_sql" value="true" /> <!-- 是否格式化SQL语句 --> <property name="hibernate.format_sql" value="true" /> <!-- 指定使用c3p0连接池 --> <property name="hibernate.connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider" ></property> </properties> </persistence-unit> </persistence>
新建JPAUtils.java
import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; public class JPAUtils { private static EntityManagerFactory factory; static{ //读取主配置,并创建EntityManagerFactory(可以理解为Session工厂) factory = Persistence.createEntityManagerFactory("abc"); } public static EntityManager getEntityManager(){ return factory.createEntityManager(); } }
实体注解详解
使用JPA增删改查
增
查
懒加载查询
修改持久化对象
修改游离态对象
删
JPQL
多表映射关系配置
一对多|多对一
一对多
多对一
4000
多对多
不维护外键方
外键维护方
在JPA中使用c3p0连接池
导包
![](https://oscdn.geek-share.com/Uploads/Images/Content/201707/8360ec9c6aa081ce2c5c48efcfd02763)
配置
![](https://oscdn.geek-share.com/Uploads/Images/Content/201707/b41a90df3a854649da7227c9aab63c46)
测试
相关文章推荐
- hibernate环境搭建教程---【小白系列】0基础到熟练应用hibernate框架(一)
- hibernate主键生成策略---【小白系列】0基础到熟练应用hibernate框架(七)
- hibernate多对多关系---【小白系列】0基础到熟练应用hibernate框架(十三)
- hibernate实体类的创建规则---【小白系列】0基础到熟练应用hibernate框架(六)
- hibernate一级缓存---【小白系列】0基础到熟练应用hibernate框架(九)
- hibernate事务---【小白系列】0基础到熟练应用hibernate框架(十)
- HibernateUtils工具---【小白系列】0基础到熟练应用hibernate框架(四)
- hibernate一对多|多对一关系---【小白系列】0基础到熟练应用hibernate框架(十二)
- hibernate中对象视图导航查询|加载策略---【小白系列】0基础到熟练应用hibernate框架(十四)
- hibernate的Configuration,SessionFactory,Session详解---【小白系列】0基础到熟练应用hibernate框架(二)
- hibernate实体类的三种状态---【小白系列】0基础到熟练应用hibernate框架(八)
- struts2值栈&struts ognl表达式---【小白系列】0基础到熟练应用struts2框架(四)
- spring AOP---【小白系列】0基础到熟练应用spring框架(三)
- spring环境搭建&spring快速入门---【小白系列】0基础到熟练应用spring框架(一)
- struts2获取作用域对象---【小白系列】0基础到熟练应用struts2框架(三)
- struts2环境搭建---【小白系列】0基础到熟练应用struts2框架(一)
- struts2参数封装---【小白系列】0基础到熟练应用struts2框架(五)
- struts2 interceptor拦截器---【小白系列】0基础到熟练应用struts2框架(六)
- spring IoC注解开发---【小白系列】0基础到熟练应用spring框架(二)
- Struts2结果视图配置---【小白系列】0基础到熟练应用struts2框架(二)