• Maven Hibernate


    1、使用maven管理Hibernate实现自动装配jar包

    2、需要在配置文件pom.xml中引入

    如:引入hibaernate5.2.11.Final版本的jar包,需要做如下配置:

             <!-- 添加Hibernate依赖 -->    
    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.11.Final</version>
    </dependency>

    如果你不知到要如何配置各个版本,请参照:

    http://mvnrepository.com/artifact/org.hibernate/hibernate-core
    
    此网站

    配置好后:也有可能会出现你在使用buildServiceReguistry是找不到该方法,
    原因:可能你所需的包没导入【导入CTRL+SHIFT+O】,也可能是你的包就没下载下来,那你可以去你的本地仓库看看,如果没有进行下载。

    导入的包是【import org.hibernate.boot.registry.StandardServiceRegistryBuilder;】

    也有可能是版本4之后的Hibernate中buildServiceReguistry()方法被替换了。
    解决方法:

    1)版本导入更换为:
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    (2)在版本4及以前中的用法:
    Configuration configuration = new Configuration().configure();
     ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
     SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    (3)在版本5中的用法:
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();


    3、完整代码如下:

     

    测试代码如下:
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.service.ServiceRegistry;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    
    public class StudentTest {
        private SessionFactory  sessionFactory;
        private  Session session;
        private Transaction transction;
        @Test
        public void test()
        {
            Students stu=new Students(1,"张三",    "wq","1995年9月1日",    "云南曲靖","15709618888");
            //                Students(int sid, String name, String gender, String birthday, String address, String tel);
            session.save(stu);
        }
        
        @Before
        public void init()
        {
            Configuration config=new Configuration().configure();
            //ServiceRegistry serviceRegistry=new StandardServiceRegistryBuilder().applySettting(config.getProperties()).buildServiceRegistry();
            //这是4及以前的用法
            //ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
    ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(config.getProperties()).build(); session= sessionFactory.openSession();//会话对象 transction=session.beginTransaction();//开启事务 } @After public void distort() { transction.commit();//提交事务 session.close();//关闭session会话 sessionFactory.close();//关闭会话工厂 } }
  • 相关阅读:
    QtQuickcontrols2控件使用参考
    QT中VideoProbe的简介和实现
    基于qml创建最简单的图像处理程序(2)使用c++&qml进行图像处理
    在win和android上同时进行OpenCV程序设计
    QTQuick控件基础(3)视图
    ansible循环主机组
    ansible实现template管理变量
    ansible读写系统默认变量
    网络04端口号linux端口详解大全TCP注册端口号大全
    ansible任务委派小技巧
  • 原文地址:https://www.cnblogs.com/ywf520/p/7528964.html
Copyright © 2020-2023  润新知