zoukankan      html  css  js  c++  java
  • 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();//关闭会话工厂 } }
  • 相关阅读:
    MINA之心跳协议运用
    基于MINA实现server端心跳检测(KeepAliveFilter)
    求职酸甜苦辣:老陈的几次面试经历
    Java中的装箱与拆箱
    深入解析Apache Mina源码(1)——Mina的过滤器机制实现
    MINA 框架简介
    Java 开发 2.0: 现实世界中的 Redis
    mysql与mongodb、redis的性能对比,包含源代码
    80后之迷茫的一代:为什么都想去当公务员?
    NoSQL一致性
  • 原文地址:https://www.cnblogs.com/ywf520/p/7528964.html
Copyright © 2011-2022 走看看