一.逻辑
1.加载配置文件创建工厂(实体管理工厂)对象
作用:创建工厂
2.通过工厂获取实体管理器
作用:获取EntityManager对象
EntityManager对象内部维护了很多内容。
(1)维护了数据库信息
(2)维护缓存信息
(3)维护了所以实体类对象
(4)在创建EntityManager对象通过配置文件创建数据库表中映射的实体类对象
总结:创建EntityManager对象比较浪费资源.
特点:线程安全。
3.开启事务
4.执行sql语句【增删改查】
EntityManager对象的方法
persist:保存方法
merge:修改方法
remove:删除方法
find/getReference:查询方法【根据id】
5.提交事务
6.关闭资源
二.工具类
(1)代码块
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
/**
* 通过静态代码块进行创建工厂对象,解决资源消耗问题
*/
public class JPAUtil {
private static EntityManagerFactory factory;
static {
//1.加载配置文件,并创建工厂对象
//参数是持久化单元名称
factory = Persistence.createEntityManagerFactory("myJpa");
//2.
}
/**
* 获取EntityManager对象
*/
public static EntityManager getEntityManager(){
return factory.createEntityManager();
}
}