栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

如何通过配置hibernate方言包+GBase8s jdbc实现GBase8s数据库操作

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何通过配置hibernate方言包+GBase8s jdbc实现GBase8s数据库操作

hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架。hibernate可以自动生成SQL语句,自动执行,可以随心所欲的使用对象编程思维来操纵数据库。
不同数据库语法细节上存在差异,hibernate可根据方言自动应付底层数据库访问所存在的细节差异,将HQL有针对的转化为某一数据库所支持的SQL语句。
Gbase8s Hibernate方言包,针对Gbase8s数据库定制的语法解析包,本文通过实例介绍如何通过hibernate方言包实现连接Gbase8s数据库,实现数据添加与查询过程。
1、首先,工程中引入Gbase8s hibernate方言包、hibernate原生包文件,以及Gbase8s驱动程序。

2、配置文件
1)配置hibernate.cfg.xml文件

    
    
        com.gbasedbt.jdbc.Driver
    
    
        jdbc:gbasedbt-sqli://172.16.33.240:5555/test:GbaseDBTSERVER=ol_gbasedbt1210_2;
    
    root
    redhat

    
   
        gbase.hibernate.dialect.GbaseDialect
    

    
    true
    
    true
    
    false
    
    
    update
    

hibernate.cfg.xml文件主要参数说明
1)hibernate.connection.driver_class属性,配置为Gbase8s驱动类名称定义为
com.gbasedbt.jdbc.Driver
2)hibernate.connection.url属性,为Gbase8s数据库url
3)hibernate.connection.username属性,为Gbase8s数据库用户名
4)hibernate.connection.password属性,为Gbase8s数据库密码
5)hibernate.dialect属性,为Gbase8s数据库方言,定义为
gbase.hibernate.dialect.GbaseDialect
6)hibernate.connection.url属性,为Gbase8s数据库url
7)hibernate对象-关系映射文件配置为com/hibernate/util/student.hbm.xml

2)配置对象-关系映射文件,com/hibernate/util/student.hbm.xml
com/hibernate/util/student.hbm.xml文件如下:

3、配置实体类 public class Student {
private int id;
private String name;
private int age;

public int getAge() {
	return this.age;
}


public void setAge(int age) {
	this.age = age;
}


public String getName() {
	return name;
}


public void setName(String name) {
	this.name = name;
}

public int getId() {
	return id;
}

public void setId(int id) {
	this.id = id;
}

}
4、执行用例
1)插入数据
public void insertUser(){
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
try {
SessionFactory sessionFactory = new metadataSources(serviceRegistry).buildmetadata().buildSessionFactory();
Session session = null;
session = sessionFactory.openSession();
//开始事物
Transaction transaction = session.beginTransaction();
Student s = new Student();
s.setId(1);
s.setAge(20);
s.setName(“zhangsan”);
session.save(s);
transaction.commit();
session.close();
sessionFactory.close();
}catch (Exception e) {
StandardServiceRegistryBuilder.destroy( serviceRegistry );
e.printStackTrace();
}
}

1)插入数据
public void selectUsers(){

	ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();
	try {
		SessionFactory sessionFactory = new metadataSources(serviceRegistry).buildmetadata().buildSessionFactory();
		Session session = null;
		session = sessionFactory.openSession();	
		String hql="select u.name,u.age from Student u";
		Query q= session.createQuery(hql);
		List list=q.list();
		for (int i = 0; i < list.size(); i++) {
			Object[] os=list.get(i);
			System.out.println("name:"+os[0]+"age:"+os[1]);
		}
		session.close();
		sessionFactory.close();
	}catch (Exception e) {
		StandardServiceRegistryBuilder.destroy( serviceRegistry );
		e.printStackTrace();
	}
}

通过以上步骤实现通过hibernate方言包,实现数据的插入和查询。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/602283.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号