Hibernate通用数据库操作代码

insert方法


代码如下:

public void insert(Object o){Session session = HibernateSessionFactory.currentSession();Transaction t = session.beginTransaction();session.save(o);t.commit();HibernateSessionFactory.clossSession();}

delete方法


代码如下:

public void delete(Object o,Serializable id){Session session = HibernateSessionFactory.currentSession():Transaction t = session.beginTransaction();Object o = session.get(o.class,id);if(o!=null){session.delete(o);}t.commit();HibernateSessionFactory.clossSession();}

update方法


代码如下:

public void update(Object o,Serializable id){Session session = HibernateSessionFactory.currentSession();Transaction t = session.beginTransaction();session.update(o,id);t.commit();HibernateSessionFactory.clossSession();}

基于HQL的通用select方法


代码如下:

public ArrayList select(String sql){Session session = HibernateSessionFactory.currentSession();Query query = createQuery(sql);List list = query.list();HibernateSessionFactory.clossSession();return (ArrayList)list;}

基于SQL的通用select方法


代码如下:

public ArrayList select(String sql) throws Exception{Session session = HibernateSessionFactory.currentSession();Connection con = session.connection();PreparedStatement pstmt = con.preparedStatement(sql);ResultSet rs = pstmt.executeQuery();ResultSetMetaData rsmd = rs.getMetaData();Hashtable ht = null;ArrayList array = new ArrayList();while(rs.next()){ht = new Hashtable();for(int i=0;i<rsmd.getColumnCount();i++){ht.put(rsmd.getColumnName(i+1),rs.getObject(i+1));} array.add(ht);}HibernateSessionFactory.clossSession();return array;}

(0)

相关推荐

  • 扩展Hibernate使用自定义数据库连接池的方法

    本文实例讲述了扩展Hibernate使用自定义数据库连接池的方法.分享给大家供大家参考,具体如下: 在Hibernate的过程中往往碰到这样的问题:我们现成的产品本来已使用自有的数据库连接池,同时使用Hibernate的话在Hibernate配置中也得配置数据库连接信息,这样就需要在两个地方维护数据库连接信息,维护起来感觉相当别扭. 由于我们不是在产品刚开始开发就加入Hibernate的,所以不合适让产品直接使用Hibernate的连接池,只好让Hibernate来使用产品自有的连接池,还好Hi

  • Java Hibernate中使用HQL语句进行数据库查询的要点解析

    一.实体对象查询 实体对象查询是hql查询的基础,作为一种对象查询语言,在查询操作时和sql不同,查询字符串中的内容要使用类名和类的属性名来代替.这种查询方法相对简单,只要有SQL功底,使用hql是很简单的,但是有一些问题需要注意,就是查询获取数据不是目的,需要考虑的是如何编写出高效的查询语句,这才是讨论的重点. 1.N+1问题 (1)什么是N+1问题 在刚听到这个名词时疑惑可能是有的,以前根本就没有听过N+1问题,那么它是指什么呢?N+1指的是一张表中有N条数据,那么在获取这N条数据时会产生N

  • Java的Hibernate框架数据库操作中锁的使用和查询类型

     Hibernate与数据库锁 一.为什么要使用锁? 要想弄清楚锁机制存在的原因,首先要了解事务的概念. 事务是对数据库一系列相关的操作,它必须具备ACID特征: A(原子性):要么全部成功,要么全部撤销. C(一致性):要保持数据库的一致性. I(隔离性):不同事务操作相同数据时,要有各自的数据空间. D(持久性):一旦事务成功结束,它对数据库所做的更新必须永久保持. 我们常用的关系型数据库RDBMS实现了事务的这些特性.其中,原子性. 一致性和持久性都是采用日志来保证的.而隔离性就是由今天我

  • Java的Hibernate框架中用于操作数据库的HQL语句讲解

    上次我们一起学习了用Criteria进行相关的操作,但由于Criteria并不是Hibernate官方推荐的查询方式,我们也并不多用.现在我们来看一下官方推荐的HQL,一起学习一下它的强大.  说是HQL,也就是Hibernate查询语句,和SQL有什么区别呢?一个字母的区别,哈哈.  当然不是这样,HQL和SQL的区别在于思想的不同,HQL是用面向对象的方向进行查询,而SQL则是对数据库二维表进行查询,这里包含的是思想的不同.HQL实际上也是SQL,它由Hibernate帮我们在内部进行转换,

  • 在Java的Hibernate框架中对数据库数据进行查询操作

    Hibernate查询语言(HQL)是一种面向对象的查询语言,类似于SQL,但不是对表和列操作,HQL适用于持久对象和它们的属性. HQL查询由Hibernate转换成传统的SQL查询,这在圈上的数据库执行操作. 虽然可以直接使用SQL语句和Hibernate使用原生SQL,但建议使用HQL尽可能避免数据库可移植性的麻烦,并采取Hibernate的SQL生成和缓存策略的优势. 都像SELECT,FROM和WHERE等关键字不区分大小写,但如表名和列名的属性是区分在HQL敏感. FROM 语句 使

  • 解决hibernate+mysql写入数据库乱码

    hibernate.cfg.xml加上属性. <property name="connection.useUnicode">true</property> <property name="connection.characterEncoding">UTF-8</property> mysql 的驱动用3.0.15以上版本的, 加个Filter, 使用UTF-8字符集就可以了, 若使用Spring则写在spring中的s

  • Hibernate对数据库删除、查找、更新操作实例代码

    本节继续hibernate对数据库的其他操作,删除.查询.修改. Hibernate对数据删除操作 删除User表中个一条数据,是需要更具User表的主键id值来删除的.首先根据id值向数据库中查询出来对应的对象.可以采用两种方式一是session的get方法,一个是session的load方法. Session的Get方法:调用这个方法会返回一个Object对象.然后我们对其强制转换.Useruser = (User)session.get(User.class," 402881e5441c0

  • Hibernate通用数据库操作代码

    insert方法 复制代码 代码如下: public void insert(Object o){Session session = HibernateSessionFactory.currentSession();Transaction t = session.beginTransaction();session.save(o);t.commit();HibernateSessionFactory.clossSession();} delete方法 复制代码 代码如下: public void

  • 初识通用数据库操作类——前端easyui-datagrid,form(php)

    初识通用数据库操作类--前端easyui-datagrid,form(php),实现代码比较简单,具体实现步骤请看下文. 实现功能: 左端datagrid显示简略信息,右侧显示选中行详细信息,数据库增删改 (1)点击选中行,右侧显示详细信息,其中[新增].[修改].[删除]按钮可用,[保存]按钮禁用 (2)点击[新增]按钮,[修改],[删除]按钮禁用,[保存]按钮启用 (3)点击[修改]按钮,[新增],[删除]按钮禁用 难点:通用数据库操作类中insert方法跟update方法 最终效果图: 前

  • PHP连接MySQL数据库操作代码实例解析

    方法一:普通方法(面向过程) 首先,先做出如下假设(也适用与方法二和方法三) $username=your_name; $userpass=your_pass; $dbhost=localhost; $dbdatabase=your_database; 下面是关键步骤: //生成一个连接 $db_connect=mysql_connect($dbhost,$username,$userpass) or die("Unable to connect to the MySQL!"); //

  • asp连接access、sql数据库代码及数据库操作代码

    1. ASP与Access数据库连接: 复制代码 代码如下: dim strConn dim conn strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.mappath("data/isp.mdb")+";Persist Security Info=False" set conn = Server.CreateObject("ADODB.Connection

  • Android SQLite数据库操作代码类分享

    使用示例: package cn.hackcoder.beautyreader.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; /** * Created by hackcoder on 15-1-25. */ public clas

  • PHP+MariaDB数据库操作基本技巧备忘总结

    本文实例总结了PHP+MariaDB数据库操作基本技巧.分享给大家供大家参考,具体如下: PHP+MySQL是比较常见的搭配,由于我主观上不太喜欢Oracle,而MySQL被它收购后,骨子里也发生了一些变化,因此我更换了MariaDB,仍然坚持MySQL当初开源信念的亲兄弟.本质上都是MySQL的内核,因此下面所有的数据库操作代码,都是可以直接在MySQL使用的. 晚上搭好PHP+Apache的基础环境,以及安装好MySQL数据库后,写了一个最简单的数据库连接代码,结果报了如下经典错误:Fata

  • hibernate增删改查操作代码

    Hibernate对数据删除操作 删除User表中个一条数据,是需要更具User表的主键id值来删除的.首先根据id值向数据库中查询出来对应的对象.可以采用两种方式一是session的get方法,一个是session的load方法. Session的Get方法:调用这个方法会返回一个Object对象.然后我们对其强制转换.Useruser = (User)session.get(User.class," 402881e5441c035e01441c0360510003"); 当我们传递

  • Hibernate中Session增删改查操作代码详解

    把三状态转换图放在这,方便分析方法的作用: 1.Session的save()方法 Session是Hibernate所有接口中最重要的接口,提供了对数据保存,更新,查询和删除的方法. Session的save()方法可以使临时态或游离态转换为持久态.例如,保存一个Customer对象: SessionFactory sessionFactory; Configuration configuration = new Configuration().configure(); sessionFacto

  • Python 数据库操作 SQLAlchemy的示例代码

    程序在运行过程中所有的的数据都存储在内存 (RAM) 中,「RAM 是易失性存储器,系统掉电后 RAM 中的所有数据将全部丢失」.在大多数情况下我们希望程序运行中产生的数据能够长久的保存,此时我们就需要将数据保存到磁盘上,无论是保存到本地磁盘,还是通过网络保存到服务器上,最终都会将数据写入磁盘文件.将数据保存在磁盘中我们需要面对一个数据格式的问题,此时就需要引入数据库操作. 数据库是专门用于数据的集中存储和查询的软件,它便于程序保存和读取数据,且能够通过特定的条件查询指定的数据. Python

随机推荐