此示例使用myeclipse5.5+Sql 2000数据库
数据库脚本:
- CREATE TABLE person (
- id int NOT NULL PRIMARY KEY ,
- firstname varchar (20) NOT NULL,
- lastname varchar (20) NOT NULL ,
- address varchar (20) NOT NULL ,
- zipcode varchar (6) NOT NULL ,
- tel varchar (20)
- )
hibernate.cfg.xml
- <?xml version='1.0' encoding='UTF-8'?>
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <!-- Generated by MyEclipse Hibernate Tools. -->
- <hibernate-configuration>
- <session-factory>
- <property name="connection.username">sa</property>
- <property name="connection.url">
- jdbc:microsoft:sqlserver://localhost:1433
- </property>
- <property name="dialect">
- org.hibernate.dialect.SQLServerDialect
- </property>
- <property name="myeclipse.connection.profile">mysql2000</property>
- <property name="connection.password">sa</property>
- <property name="connection.driver_class">
- com.microsoft.jdbc.sqlserver.SQLServerDriver
- </property>
- <property name="show_sql">true</property>
- <mapping resource="org/myhibernate/demo01/Person.hbm.xml" />
- </session-factory>
- </hibernate-configuration>
Person.hbm.xml
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
- <!--
- Mapping file autogenerated by MyEclipse Persistence Tools
- -->
- <hibernate-mapping>
- <class name="org.myhibernate.demo01.Person" table="person"
- schema="dbo" catalog="mldn">
- <id name="id" type="java.lang.Integer">
- <column name="id" />
- <generator class="assigned" />
- </id>
- <component name="name" class="org.myhibernate.demo01.Name">
- <property name="firstname" type="java.lang.String">
- <column name="firstname" length="20" not-null="true" />
- </property>
- <property name="lastname" type="java.lang.String">
- <column name="lastname" length="20" not-null="true" />
- </property>
- </component>
- <component name="contact"
- class="org.myhibernate.demo01.Contact">
- <property name="address" type="java.lang.String">
- <column name="address" length="20" not-null="true" />
- </property>
- <property name="zipcode" type="java.lang.String">
- <column name="zipcode" length="6" not-null="true" />
- </property>
- <property name="tel" type="java.lang.String">
- <column name="tel" length="20" />
- </property>
- </component>
- </class>
- </hibernate-mapping>
Person.java
- package org.myhibernate.demo01;
- public class Person {
- private int id;
- private Name name;
- private Contact contact;
- // Getter/Setter方法
- }
Name.java
- package org.myhibernate.demo01;
- public class Name {
- private String firstname;
- private String lastname;
- // Getter/Setter方法
- }
Contact.java
- package org.myhibernate.demo01;
- public class Contact {
- private String address;
- private String zipcode;
- private String tel;
- // Getter/Setter方法
- }
PersonDAO.java
- package org.myhibernate.demo01;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.Configuration;
- public class PersonDAO {
- private Session session;
- public PersonDAO() {
- Configuration config = new Configuration().configure();
- SessionFactory factory = config.buildSessionFactory();
- this.session = factory.openSession();
- }
- public void insert(Person p){
- this.session.save(p);
- this.session.beginTransaction().commit();
- }
- }
TestPerson.java
- package org.myhibernate.demo01;
- public class TestPerson {
- public static void main(String[] args) {
- Person p = new Person();
- PersonDAO pdao = new PersonDAO();
- Name name = new Name();
- Contact contact = new Contact();
- name.setFirstname("胡");
- name.setLastname("千好");
- contact.setAddress("云南宣威");
- contact.setTel("13888888888");
- contact.setZipcode("655408");
- p.setId(1);
- p.setContact(contact);
- p.setName(name);
- pdao.insert(p);
- }
- }
转载于:https://blog.51cto.com/huqianhao/953268