您的位置:首页 > 数据库

Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型

2012-07-23 16:07 936 查看


Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作

2011-09-22 15:57:58

1.利用hibernate的entity-name属性,创建动态模型,不需要生成真实的模型类(.java文件)

2.TCustomer.hbm.xml配置文件也可以根据用户自定义通过模板动态生成,设置各个字段及其类型、长度

3.可以通过hibernate动态模型在运行时动态添加数据表,并对其进行操作

配置文件:

<?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">

<hibernate-mapping package="com.bubulah.dao">

<class entity-name="TCustomer" table="T_Customer" schema="FORECAST">

<id name="id"

type="long"

column="ID">

<generator class="sequence"/>

</id>

<property name="name"

column="NAME"

type="string"/>

<property name="address"

column="ADDRESS"

type="string"/>

</class>

</hibernate-mapping>

源代码:

package com.bubulah.tablegenerater;

import java.util.HashMap;

import java.util.Map;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.hibernate.cfg.Environment;

import org.hibernate.tool.hbm2ddl.SchemaUpdate;

public class DynamicModels {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

//读取Customer配置文件

Configuration config = new Configuration().configure().setProperty(Environment.FORMAT_SQL, "true").addResource("com/bubulah/dao/TCustomer.hbm.xml");

//通过配置文件建表

SchemaUpdate schemaUpdate = new SchemaUpdate(config);

schemaUpdate.execute(true, true);

//利用动态模型操作数据库

SessionFactory factory = config.buildSessionFactory();

Session s = factory.openSession();

Transaction tx = s.beginTransaction();

// Create a customer

Map david = new HashMap();

david.put("name", "David");

// Create an organization

Map foobar = new HashMap();

foobar.put("name", "Foobar Inc.");

// Link both

david.put("organization", foobar);

// Save both

s.save("TCustomer", david);

//s.save("Organization", foobar);

tx.commit();

s.close();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐