zoukankan      html  css  js  c++  java
  • Hibernate 使用注释书写配置文件

    Hibernate 使用注释

    Hibernate使用注释有个好处就是我们不需要建立.hbm.xml文件,直接在实体类中添加注解就可以完成往数据库中进行数据操作

    配置文件:hibernate.cfg.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
    
        <session-factory>
            <!-- Database connection settings -->
          <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
          <property name="connection.url">jdbc:mysql://localhost:3306/student?serverTimezone=UTC</property>
          <property name="connection.username">root</property>
          <property name="connection.password">123456</property>
    
          <!-- JDBC connection pool (use the built-in) -->
          <!-- <property name="connection.pool_size">1</property> -->
    
          <!-- SQL dialect 方言 MySQLDialect不同数据库不一样-->
          <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    
          <!-- Enable Hibernate's automatic session context management -->
          <!-- <property name="current_session_context_class">thread</property> -->
    
          <!-- Disable the second-level cache -->
          <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
    
          <!-- Echo all executed SQL to stdout  生产的sql打印出来-->
          <property name="show_sql">true</property>
          <!-- <mapping resource="com/xxc/model/Student.hbm.xml"></mapping> -->
          <mapping class="com.xxc.model.Teacher"></mapping>
        </session-factory>
    
    </hibernate-configuration>

    实体类Teacher.java

    package com.xxc.model;
    
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
    @Entity
    @Table(name="teacher")
    public class Teacher {
        private int id;
        private String name;
        private String title;
        @Id
        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 String getTitle() {
            return title;
        }
        public void setTitle(String title) {
            this.title = title;
        }
        
    }

    操作类TeacherTest.java

     在这里,我们使用StandardServiceRegistryBuilder类和MetadataSources类从持久化类获取映射的信息。

    package hibernateTest;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.boot.MetadataSources;
    import org.hibernate.boot.registry.StandardServiceRegistry;
    import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
    
    import com.xxc.model.Teacher;
    
    public class TeacherTest {
    
        public static void main(String[] args) {
            Teacher t = new Teacher();
            t.setId(1);
            t.setName("xxc");
            t.setTitle("高级");
            final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
            SessionFactory sf = new MetadataSources(registry).buildMetadata().buildSessionFactory();
            Session session = sf.openSession();
            //开始事务    
            session.beginTransaction();
            session.save(t);
            //结束事务
            session.getTransaction().commit();
            session.close();
            sf.close();
        }
    }

  • 相关阅读:
    (转)图文并茂详解VisualStudio使用技巧一
    使用VS2005的 ClickOnce 技术实现按需下载组件
    (转)VS2005 SP1发布,解决只能创建WebSite,无法创建Web Application项目的问题
    .NET设计规范笔记1
    No error message available, result code: E_FAIL(0x80004005)
    SSL SettingsClient certificates
    处理程序“PageHandlerFactoryIntegrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
    添加IIS_IUSRS
    DTS,复制到同一服务器下
    在IIS7.5上配置Https,SSL
  • 原文地址:https://www.cnblogs.com/alex-xxc/p/9751901.html
Copyright © 2011-2022 走看看