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);
            }
        }
    }
  • 相关阅读:
    assert的使用
    网络性能测试工具iperf的注意事项
    sskykeygen + sshcopyid避免ssh/scp每次输入密码
    遗留系统维护的思考
    IList(T)转换DataSet
    可扩展性(Extensibility): 构建灵活系统的思考
    页面加一个"数据正在载入,请等待... Loading, please wait..."的提示
    优化JavaScript
    创业与老子的顺其自然
    实用正则表达式匹配和替换
  • 原文地址:https://www.cnblogs.com/zhi-leaf/p/8777249.html
Copyright © 2011-2022 走看看