05-抽取JpaUtils工具类

package com.study.utils;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

/*
解决实体管理器工厂浪费资源和耗时问题
    通过静态代码块的实行,当程序第一次访问此工具类时,创建一个公共的实体管理器工厂对象

第一次访问getEntityManager方法:经过静态代码块创建一个factory对象,再调用方法创建一个EntityManager对象
第二次访问getEntityManager方法:直接通过一个已经创建好的factory对象,创建EntityManager对象
 */
public class JpaUtils {

    private static EntityManagerFactory factory;

    static {
        //1、加载配置文件,创建entityManagerFactory
        factory = Persistence.createEntityManagerFactory("myJpa");
    }

    //2、获取EntityManager对象
    public static EntityManager getEntityManager(){
        return factory.createEntityManager();
    }
}
posted @ 2021-10-30 15:10  不是孩子了  阅读(95)  评论(0)    收藏  举报