t;
6 <class name="com.rong.ORM.User" table="tb_user">
7 <id name="id">
8 <generator class="native"/>
9 </id>
10 <property name="name" type="java.lang.String" length="20"/>
11 <property name="pwd" type="java.lang.String" length="20"/>
12 </class>
13</hibernate- mapping>
Struts 2.0整合Hibernate 3.2开发注册登录系统(3)
时间:2011-09-14 心梦帆影
3、建立"ExportDB.java"工具类,我们执行如下代码,就能轻松将User类导入数据库转变成数据库中 的表。不过,前提是我们已经在MySQL中建立了一个名为"LoginSystem"的数据库。
1package tool;
2
3import org.hibernate.cfg.Configuration;
4import org.hibernate.tool.hbm2ddl.SchemaExport;
5
6public class ExportDB {
7
8 /**//*
9 * 运行此类,通过POJO类和配置文件,生成数据库的表
10 */
11 public static void main(String[] args){
12 Configuration cfg = new Configuration ().configure();
13 SchemaExport export = new SchemaExport(cfg);
14 export.create(true, true);
15 }
16}
17
4、建立获取SessionFactory和管理Session的HibernateUtil.java类:
1package com.rong.hibernate;
2
3import org.hibernate.HibernateException;
4import org.hibernate.Session;
5import org.hibernate.SessionFactory;
6import org.hibernate.cfg.Configuration;
7
8public class HibernateUtil {
9
10 //声明Hibernate配置文件所在的路径
11 private static String configFile = "/hibernate.cfg.xml";
12 //建Configuration对象
13 private static Configuration configuration = new Configuration();
14 //建Session工厂对 象
15 private static SessionFactory sessionFactory = null;
16
17 /** *//**
18 * 单例模式,只初始化一次,只产生一个SessionFactory对象(线程安全)
19 */
20 static {
21 try{
22 //通过hibernate.cfg.xml配置数据库连 接
23 configuration.configure(configFile);
24 //建立一个Session 工厂
25 sessionFactory = configuration.buildSessionFactory();
26 System.out.println("[标记]初始化SessionFactory");
27 }catch(Exception e){
28 System.out.println("[异常]创建SessionFactory时发生异常,异常原因如下:");
29 e.printStackTrace();
30 }
31 }
32
33 /** *//**
34 * getSession()方法
35 * @return Session对象
36 * @throws HibernateException
37 */
38 public Session getSession(){
39 Session session = null;
40 try{
41 session = sessionFactory.openSession ();
42 }catch(Exception e){
43 System.out.println("[异常]开启Session 时发生异常,异常原因如下:");
44 e.printStackTrace();
45 }
46 return session;
47 }
48
49 /** *//**
50 * closeSession()方法
51 * @param session 要关闭的Session对象
52 */
53 public void closeSession(Session session){
54 try{
55 i
|