hibernate中的session中可以进行增删改差,通过工具类可以得到相关的工具类。

方法概要:

 Transaction

beginTransaction()开始一个工作单元,得到关联的事务对象。

 void

cancelQuery()取消当前执行的查询。

 void

clear()彻底清除session。

 Connection

close()通过断开JDBC连结结束 Session和清除。

 Connection

connection() 得到JDBC连结

 boolean

contains(Object object) 检查实例是否与当前Session关联。

 Criteria

createCriteria(Class persistentClass) 为给定的实体类创建一个新的查询实例。

 Query

createFilter(Object collection, String queryString) 根据字符串为给定的集合创建一个新的查询实例。

 Query

createQuery(String queryString) 根据字符串创建一个新的查询实例。

 Query

createSQLQuery(String sql, String[] returnAliases, Class[] returnClasses)根据SQL字符串创建一个新的查询实例。

 Query

createSQLQuery(String sql, String returnAlias, Class returnClass) 根据SQL字符串创建一个新的查询实例。

 void

delete(Object object) 从数据库删除持久实例。

 int

delete(String query)删除根据查询语句返回的所有对象。

 int

delete(String query, Object[] values, Type[] types) 删除根据查询语句返回的所有对象。

 int

delete(String query, Object value, Type type) 删除根据查询语句返回的所有对象。

 Connection

disconnect() 断开SessionJDBC连结。

 void

evict(Object object) 从session缓存中删除当前实例。

 Collection

filter(Object collection, String filter) 对持久集合应用过滤。

 Collection

filter(Object collection, String filter, Object[] values, Type[] types)对持久集合应用过滤。

 Collection

filter(Object collection, String filter, Object value, Type type)对持久集合应用过滤。

 List

find(String query)执行查询。

 List

find(String query, Object[] values, Type[] types)根据绑定参数执行查询。

 List

find(String query, Object value, Type type) 根据绑定参数执行查询。

 void

flush() 强制Session保存。

 Object

get(Class clazz, Serializable id) 根据给定标识返回实体类持久实例。

 Object

get(Class clazz, Serializable id, LockMode lockMode) 根据给定标识返回实体类持久实例。

 LockMode

getCurrentLockMode(Object object)得到给定对象得当前锁定模式。

 FlushMode

getFlushMode()得到当前保存模式。

 Serializable

getIdentifier(Object object) 得到Session缓存中实体实例的标识。

 Query

getNamedQuery(String queryName) 根据mapping文件中定义的查询字符串得到查询实例。

 SessionFactory

getSessionFactory() 得到创建当前实例的SessionFactory

 boolean

isConnected() 检查Session是否当前连接。

 boolean

isDirty() 检查是否包含修改的数据没有同步数据库。

 boolean

isOpen() 检查Session是否仍然打开。

 Iterator

iterate(String query)执行一个查询,返回结果到iterator。

 Iterator

iterate(String query, Object[] values, Type[] types) 执行一个查询,返回结果到iterator。

 Iterator

iterate(String query, Object value, Type type) 执行一个查询,返回结果到iterator。

 Object

load(Class theClass, Serializable id) 根据给定标识返回实体类持久实例。

 Object

load(Class theClass, Serializable id, LockMode lockMode) 根据给定标识返回实体类持久实例。

 void

load(Object object, Serializable id) 根据给定标识返回实体类持久实例。

 void

lock(Object object, LockMode lockMode)得到指定锁级别

 void

reconnect()得到新的JDBC连结。

 void

reconnect(Connection connection)重新连结到给定的JDBC连结。

 void

refresh(Object object)从数据库重新读取给定实例状态。

 void

refresh(Object object, LockMode lockMode) 根据给定的锁模式从数据库重新读取给定实例状态。

 void

replicate(Object object, ReplicationMode replicationMode)持久化所有对象。

 Serializable

save(Object object)持久化临时实例。

 void

save(Object object, Serializable id) 根据给定表识持久化临时实例。

 void

saveOrUpdate(Object object)根据给定标识属性选择保存或更新数据库。

 Object

saveOrUpdateCopy(Object object) 根据相同的标识拷贝给定对象的状态到持久对象。

 Object

saveOrUpdateCopy(Object object, Serializable id) 根据给定的标识拷贝给定对象的状态到持久对象。

 void

setFlushMode(FlushMode flushMode)设置保存模式。

 void

update(Object object)根据给定临时实例标识更新持久实例。

 void

update(Object object, Serializable id) 根据给定临时实例标识更新持久实例。

使用举例:

System.out.println("获取Session...");

Session session = HibernateSessionFactory.currentSession();

System.out.println("开始Transaction...");

Transaction tx = session.beginTransaction();

Test my_hibernate = null;

System.out.println("Iterator查询...");

Iterator iterator = session.iterate("from Test order by xm");

while(iterator.hasNext())

{

my_hibernate = (Test)iterator.next();

System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}

System.out.println("List查询...");

List list = session.find("from Test order by xm");

for(int i = 0;i < list.size();i++)

{

my_hibernate = (Test)list.get(i);

System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}

System.out.println("Query查询...");

Query query = session.createQuery("from Test order by xm");

list = query.list();

for(int i = 0;i < list.size();i++)

{

my_hibernate = (Test)list.get(i);

System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}

iterator = query.iterate();

while(iterator.hasNext())

{

my_hibernate = (Test)iterator.next();

System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}

System.out.println("Criteria查询...");

Criteria criteria = session.createCriteria(Test.class);

criteria.add(Expression.eq("xb","f"));

list = criteria.list();

for(int i = 0;i < list.size();i++)

{

my_hibernate = (Test)list.get(i);

System.out.println(my_hibernate.getXm() + " "+ my_hibernate.getXb());

}

System.out.println("更新数据...");

my_hibernate = (Test)session.load(Test.class,"121");

my_hibernate.setXb("f");

System.out.println("提交Transaction...");

tx.commit();

System.out.println("关闭Session...");

HibernateSessionFactory.closeSession();

最新文章

  1. 企业IT管理员IE11升级指南【17】—— F12 开发者工具
  2. Upgrade NE script with GUI but cannot support multithread, need to add soon
  3. java web(spring mvc) 获取请求host 和 如何获取静态页的相对路径
  4. [转]C#网络编程(同步传输字符串) - Part.2
  5. Principal Component Analysis(PCA) algorithm summary
  6. io函数
  7. 墨刀 手机app原型工具
  8. iOS 之单例,代理,通知,KVO,Block全能解析
  9. 简单的iOS抽屉效果
  10. 基于visual Studio2013解决C语言竞赛题之0505选数
  11. cocos2d-x 精灵移动
  12. Linux怎么查看软件安装路径 查看mysql安装在哪
  13. dojo中的xhrPost请求(JSON)
  14. js 向上和向下取整
  15. | 线段树-地平线horizon
  16. 动车上的书摘-java对象流与序列化
  17. ChIP-seq实战 | 染色质免疫共沉淀技术 | ATAC-seq | 染色质开放性测序技术
  18. pytorch backward问题
  19. 关于preg_match() / preg_replace()函数的一点小说明
  20. 软件设计模式之代理模式(JAVA)

热门文章

  1. 第k短路
  2. IIS网站打不开错误解决方案集锦(一):编译器错误消息: 编译器失败,错误代码为 -1073741502。
  3. [工作积累] Software keyboard not shown on Activity.onCreate
  4. [工作积累] Android: Hide Navigation bar 隐藏导航条
  5. Mac中安装maven3.2.1
  6. 从CMO到龙泉寺弟子:佛法改变人生
  7. POJ2451 Uyuw&#39;s Concert(半平面交)
  8. UVALive6571 It Can Be Arranged(最小路径覆盖)
  9. POJ 2100
  10. [转载] poll()函数