標籤:服務 open new 開啟 -- private 技術 comm reg
一、Hibernate簡介:
二、Hibernate4 版Hello World 實現
工程結構:
com.cy.model.Student:
package com.cy.model;public class Student { private long id; private String name; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
View Code
Student.hbm.xml:
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.cy.model"> <class name="Student" table="t_student"> <!-- <id>代表主鍵 類的屬性名稱是id,對應表中列名是stuId --> <id name="id" column="stuId"> <!-- 主鍵建置原則,這裡採用mysql的native,自增 --> <generator class="native"></generator> </id> <!-- 普通屬性採用property 不寫column,那麼資料庫table的列名也叫name --> <property name="name"></property> </class> </hibernate-mapping>
com.cy.service.StudentTest.java:
package com.cy.service;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.hibernate.cfg.Configuration;import com.cy.model.Student;public class StudentTest { public static void main(String[] args) { Configuration configuration = new Configuration().configure(); //執行個體化設定檔,預設指定的就是hibernate.cfg.xml StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();//執行個體化服務登記,服務註冊 SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry); //擷取session工廠 Session session = sessionFactory.openSession(); //產生一個session session.beginTransaction(); //開啟事務 Student s = new Student(); s.setName("張三"); session.save(s); session.getTransaction().commit(); //提交事務 session.close(); //關閉session sessionFactory.close(); //關閉session工廠 }}
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.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- 方言 --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 控制台顯示SQL --> <property name="show_sql">true</property> <!-- 自動更新表結構 --> <property name="hbm2ddl.auto">update</property> <mapping resource="com/cy/model/Student.hbm.xml"/> </session-factory></hibernate-configuration>
運行StudentTest.java,測試結果:
Hibernate簡介與HelloWorld