• 使用hibernate 框架搭建的helloworld


    在学框架hibernate 框架的时候走了很多的弯路

    版本:

    将第一个hibernate记录下来

    首先 是搭建的结构:

    hibernate.cfg.xml文件内容:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
        
        <!-- 链接数据库基本信息 -->
        <property name="connection.username">root</property>
        <property name="connection.password">123456</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
        <property name="connection.url">jdbc:mysql:///test</property>
        
        <!-- 配置hibernate的基本信息  数据库方言 -->
        <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
       
        <!-- 执行操作时是否在控制台打印 SQL -->
        <property name="show_sql">true</property>
        
        <!-- 是否对 SQL 进行格式化 -->
        <property name="format_sql">true</property>
        
        <!-- 指定自动生成数据表的策略 -->
        <property name="hbm2ddl.auto">update</property>
            
        <!-- 指定关联的 .hbm.xml 文件 -->
        <mapping resource="com/atguigu/hibernate/helloworld/mytest.hbm.xml"/>
        
        </session-factory>
    </hibernate-configuration>

    mytest.java文件:

    package com.atguigu.hibernate.helloworld;
    
    public class mytest {
        int id;
        String name;
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public mytest(String name) {
            super();
            this.name = name;
        }
        public mytest()
        {
            
        }
        @Override
        public String toString() {
            return "mytest [id=" + id + ", name=" + name + "]";
        }
    }

    mytest.hbm.xml

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated 2016-8-7 3:19:11 by Hibernate Tools 3.5.0.Final -->
    <hibernate-mapping>
        <class name="com.atguigu.hibernate.helloworld.mytest" table="MYTEST">
            <id name="id" type="int">
                <column name="ID" />
                <generator class="native" />
            </id>
            <property name="name" type="java.lang.String">
                <column name="NAME" />
            </property>
        </class>
    </hibernate-mapping>

    HibernateTest.java文件  jUnit测试

    package com.atguigu.hibernate.helloworld;
    
    import static org.junit.Assert.*;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.Transaction;
    import org.hibernate.boot.registry.StandardServiceRegistry;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.service.ServiceRegistry;
    import org.junit.Test;
    
    public class HibernateTest {
    
        @Test
        public void test() {
    //1. 创建一个 SessionFactory 对象 SessionFactory sessionFactory
    = null;
    //1). 创建 Configuration 对象: 对应 hibernate 的基本配置信息和 对象关系映射信息 Configuration configuration
    = new Configuration().configure();


             //4.0 之前这样创建
              // sessionFactory = configuration.buildSessionFactory();

              //2). 创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象 
               //hibernate 的任何配置和服务都需要在该对象中注册后才能有效. 但是这个也已经失效了 
                //  ServiceRegistry serviceRegistry =
                 //  new ServiceRegistryBuilder().applySettings(configuration.getProperties())
                 //.buildServiceRegistry();

           //2). 创建一个StandardServiceRegistry

      StandardServiceRegistryBuilder standardServiceRegistryBuilder = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties());
    StandardServiceRegistry standardServiceRegistry
    = standardServiceRegistryBuilder.build();
    sessionFactory
    = configuration.buildSessionFactory(standardServiceRegistry);
    Session session
    = sessionFactory.openSession(); //3. 开启事务 Transaction transaction = session.beginTransaction();

    //4. 执行保存操作
    mytest my = new mytest ("ATGUIGU"); session.save(my);

    //5. 提交事务

    transaction.commit();

    //6. 关闭 Session

    session.close();

    //7. 关闭 SessionFactory 对象

    sessionFactory.close(); } }

    运行结果:

  • 相关阅读:
    QButtonGroup按钮组
    命令链接按钮QCommandLinkButton
    Arduino-常用指令
    第十章第三节 物体的浮沉条件及应用
    安装包制作工具 SetupFactory使用1 详解
    ONVIF、RTSP/RTP、FFMPEG的开发实录
    ffmpeg摄像头采集h264编码RTP发送
    ffmpeg综合应用示例(一)——摄像头直播
    利用ffmpeg一步一步编程实现摄像头采集编码推流直播系统
    ffmpeg超详细综合教程——摄像头直播
  • 原文地址:https://www.cnblogs.com/2714585551summer/p/5745346.html
Copyright © 2020-2023  润新知