1.2.?Hibernate连接UXDB

1.2.1. 安装hibernate tools
1.2.2. 导入hibernate所有驱动包
1.2.3. 创建hibernate.cfg.xml
1.2.4. 连接数据库并生成源代码
1.2.5. 修改hibernate.cfg.xml
1.2.6. 创建hibernate的测试类
1.2.7. 运行结果
1.2.8. 使用分析说明
1.2.9. 注意点

1.2.1.?安装hibernate tools

官网下载离线包或者在线安装hibernate插件(JBoss Tools)。

1.2.2.?导入hibernate所有驱动包

  1. 导入官网下载的hibernate驱动包;

  2. 导入uxdb的hibernate驱动包uxdb的hibernate驱动包(UXSQLDialect-4.2.jar)在uxdb的安装目录中获取。

1.2.3.?创建hibernate.cfg.xml

uxdb server端IP为192.168.1.82,端口为5432,数据库test,用户名uxdb,密码123456。

  1. 创建hibernate.cfg.xml;

    右键src,New->Other...->Hibernate->Hibernate Configuration File(cfg.xml),点击Next。

    根据下图填写相关配置,勾选Create a console configuration,点击Next:

    Session factory name:uxdb

    Database dialect:org.hibernate.dialect.UXSQLDialect

    Driver class:com.uxsino.uxdb.Driver

    Connection URL:jdbc:uxdb://192.168.1.82:5432/test

    Username:uxdb

    Password:123456

  2. 点击Classpath标签页,选择uxdb的JDBC驱动包,然后Finish。

1.2.4.?连接数据库并生成源代码

  1. 打开Hibernate Configurations的View窗口,如下图显示即数据库连接成功。

    Window->Show View->other..->Hibernate->Hibernate Configurations,点击open。

  2. 反向生成java代码

    • 新建Hibernate Code generation 的configure

      双击Hibernate Code Generation打开配置文件,名称默认是New_configuration;Output directory选择\uxdb-jdbc\src;勾选Reverse engineer from JDBC Connection;Package填写com.uxdb.hibernate

    • reveng.xml点击setup...->Create new...,选择路径uxdb-jdbc,点击Next,进入Configure Table filters页面,点击Refresh,点开public,选择student,点击Include...

    • 点击Finish。

    • 选择Exporters选项卡,并进行如下的配置,勾选Domain code和Hibernate XML Mappings,点击Run完成。

    • 如下图在工程中生成了com.uxdb.hibernate包及访问数据库的源代码。

1.2.5.?修改hibernate.cfg.xml

  1. 右键hibernate.cfg.xml,Open With->Test Editor

  2. 增加如下内容:

    <mapping resource="com/uxdb/hibernate/Student.hbm.xml"/>

1.2.6.?创建hibernate的测试类

右键包com.uxdb.hibernate,New->class,Name输入HibernateTest,点击Finish。

HibernateTest.java代码如下:

package com.uxdb.hibernate;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; 
public class HibernateTest {  	
	@SuppressWarnings({ "unchecked", "deprecation" })
	public static void main(String[] args) {          
        //读取hibernate.cfg.xml文件  
        Configuration cfg = new Configuration().configure();           
        //建立SessionFactory  
		SessionFactory factory = cfg.buildSessionFactory();              
		Session session = null;
		try {
        	//取得session  
        	session = factory.openSession();  
            //开启事务  
            session.beginTransaction();   
            Student student = new Student();
            student.setSno(2001);
            student.setSname("testname");
            student.setSage(55);
            student.setSsex("男");          
            //保存student对象  
            session.save(student);            
            List<Student> list;
            String sql = "from Student";  
            Query query = session.createQuery(sql);  
            list = (List<Student>)query.list();             
            System.out.println("studentnew");
			for (Student u : list) {
				System.out.println(u.getSno() + ";" + u.getSname() + ";" + u.getSage() + ";" + u.getSsex());
			}			
            //提交事务  
            session.getTransaction().commit();  
        }catch(Exception e) {  
            e.printStackTrace();  
            //回滚事务  
            session.getTransaction().rollback();  
        }finally {  
            if (session != null) {  
                if (session.isOpen()) {  
                    //关闭session  
                    session.close();  
                }  
            }  
        }     
    }  
}

1.2.7.?运行结果

运行结果如下显示时hibernate连接使用uxdb成功,显示student表的数据与uxdb数据库中查看结果一致。

1.2.8.?使用分析说明

创建配置hibernate.cfg.xml时注意以下几项内容:

  1. Database dialect:org.hibernate.dialect.UXSQLDialect(使用uxdb的dialect)

  2. Driver class:com.uxsino.uxdb.Driver(使用uxdb的driver.class)

  3. Connection url:jdbc:uxdb://192.168.1.82:5432/test(jdbc:uxdb://IP:port/databasename)

  4. Username:uxdb

  5. Password:123456

1.2.9.?注意点

  1. 导入uxdb的jdbc包;

  2. 使用hibernate框架时在导入uxdb的jdbc包之后需导入hibernate的包和uxdb的Dialect包,并在使用时填写正确。

XML 地图 | Sitemap 地图