zoukankan      html  css  js  c++  java
  • HibernateUtil

    package com.zhi.test.util;
    
    import java.util.HashMap;
    import java.util.Map;
    
    import org.hibernate.SessionFactory;
    import org.hibernate.boot.Metadata;
    import org.hibernate.boot.MetadataSources;
    import org.hibernate.boot.registry.StandardServiceRegistry;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.cfg.Environment;
    
    import com.zhi.test.entity.PersonEntity;
    
    public class HibernateUtil {
        private static StandardServiceRegistry serviceRegistry;
        private static SessionFactory sessionFactory;
    
        public static SessionFactory getSessionFactory() {
            if (sessionFactory == null) {
                System.setProperty("org.jboss.logging.provider", "log4j2");
    
                Map<String, String> settings = new HashMap<>();
                settings.put(Environment.DRIVER, "com.mysql.jdbc.Driver");
                settings.put(Environment.URL,
                        "jdbc:mysql://192.168.17.128:3306/zhi_study?useUnicode=true&characterEncoding=utf-8&useSSL=false");
                settings.put(Environment.USER, "root");
                settings.put(Environment.PASS, "abc123");
                settings.put(Environment.HBM2DDL_AUTO, "update");
    
                StandardServiceRegistryBuilder standardServiceRegistryBuilder = new StandardServiceRegistryBuilder();
                standardServiceRegistryBuilder.applySettings(settings);
                serviceRegistry = standardServiceRegistryBuilder.build();
    
                MetadataSources sources = new MetadataSources(serviceRegistry).addAnnotatedClass(PersonEntity.class);
                Metadata metadata = sources.getMetadataBuilder().build();
                sessionFactory = metadata.getSessionFactoryBuilder().build();
            }
            return sessionFactory;
        }
    
        public static void shutdown() {
            if (serviceRegistry != null) {
                StandardServiceRegistryBuilder.destroy(serviceRegistry);
            }
        }
    }
  • 相关阅读:
    CSS优化,提高性能的方法有哪些?
    稀疏数组(SparseArray)(Go)
    Go
    Vue 实战-6 rest 重置表单不生效原因
    Go
    Vue 实战-5 批量导出 excel功能
    Vue 实战-4 表格展开行
    Vue 实战-3 vue 中使用watch 监听 el-input属性值
    Vue 实战-2 输入框加搜索图标
    Vue 实战-1 去掉 input [number] 默认增减箭头样式
  • 原文地址:https://www.cnblogs.com/zhi-leaf/p/8777249.html
Copyright © 2011-2022 走看看