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);
            }
        }
    }
  • 相关阅读:
    Fragment生命周期详解
    VS常用快捷键
    转载:C#中的泛型
    Vue 引入代码代码编辑器monacoeditor并自定义语法提示
    Monaco Editor 参数配置详解
    关于uniapp生成证书数字签名(.keystore)文件
    C#上传到FTP Server
    Linux下静态编译glib
    简单谈谈haskell
    hi,大家
  • 原文地址:https://www.cnblogs.com/zhi-leaf/p/8777249.html
Copyright © 2011-2022 走看看