使用 HibernateTemplate 进行持久化操作 执行的时候不报错,但数据库的持久化操作没有一点作用,问了好多人,说没有声明事务和提交事务, 用的是别人搭的的架构,事务已经有了,自动提交事务的,所以和事务没有关系,,搞了好久最后终于知道怎么回事了,真是一个让人蛋疼的问题啊!

/**
* 删除该群里的所有用户(解散群聊)
* @author 80818647@qq.com
* @param groupId 群ID
*/
public void deletChatGroupUser(final long groupId) {
execute(new HibernateCallback<ChatGroup>() {
public ChatGroup doInHibernate(Session session) throws HibernateException {
session
.createSQLQuery("DELETE FROM user_chat_group WHERE chat_group_id=:groupId")
.setLong("groupId", groupId) //因为少了这行代码,所以导致一直不报错,但是数据库还没反应。
// **只要是手写SQL对数据库进行了更改最后都是要加入.executeUpdate(); 除了select以外
.executeUpdate(); return null;
}
});
}

  

 获取一个对象

    /**
* 获取群对象
* @author 80818647@qq.com
* @param  groupId 群ID
* @return ChatGroup( 群组对象) 当前用户在此群的信息
*/
public ChatGroup getChatGroupById(final long groupId) {
return execute(new HibernateCallback<ChatGroup>() {
public ChatGroup doInHibernate(Session session) throws HibernateException {
return (ChatGroup) session
.createSQLQuery("SELECT * FROM chat_group WHERE id=:groupId")
.addEntity(ChatGroup.class)
.setLong("groupId", groupId)
.uniqueResult(); //返回一个唯一结果 对象
}
});
}

count查询返回一记录数

    //注意返回的必须是BigInteger类型
public BigInteger getTotalCount(final long postCategoryId) {
return execute(new HibernateCallback<BigInteger>() {
public BigInteger doInHibernate(Session session) throws HibernateException {
return (BigInteger) session
.createSQLQuery("SELECT count(*) FROM post where deleted > 0 and published > 0 and post_category_id=:postCategoryId ")
.setLong("postCategoryId", postCategoryId)
.uniqueResult(); }
});
}

使用HibernateTemplate手写源生SQL的【增删改查】 操作的更多相关文章

  1. Linq to SQL 的增删改查操作

    Linq,全称Language Integrated Query,是C#语言的一个扩展,可以将数据查询直接集成到编程语言本身中. Linq分为查询语法和方法语法,说白了查询语法就是 from wher ...

  2. 【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建

    数据库的创建和sql语句增删改查 1. 载入驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, nam ...

  3. 手撸Mysql原生语句--增删改查

    mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...

  4. 分享一个自己写的MVC+EF “增删改查” 无刷新分页程序

    分享一个自己写的MVC+EF “增删改查” 无刷新分页程序 一.项目之前得添加几个组件artDialog.MVCPager.kindeditor-4.0.先上几个效果图.      1.首先建立一个数 ...

  5. 数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)

    SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) ...

  6. (转)SQLite数据库增删改查操作

    原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...

  7. Android SQLite 数据库 增删改查操作

    Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...

  8. 如何搭建一个WEB服务器项目(二)—— 对数据库表进行基本的增删改查操作

    使用HibernateTemplate进行增删改查操作 观前提示:本系列文章有关服务器以及后端程序这些概念,我写的全是自己的理解,并不一定正确,希望不要误人子弟.欢迎各位大佬来评论区提出问题或者是指出 ...

  9. PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码

    PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...

随机推荐

  1. no xxx find in java.library.path

    JAVA系统运行时候load native lib时候会遇到下面错误,如 java.lang.UnsatisfiedLinkError: no JSTAF in java.library.path这可 ...

  2. 谷歌浏览器安装jsonview插件方法

    参考https://www.cnblogs.com/whycxb/p/7126116.html,已安装成功.

  3. Sublime text3装入插件Anaconda

    好多人在学习编写代码的时候,会有不同的编辑器,大神们建议我使sublime,但是我在里面写代码,没有一点提示,我的天,不得烧坏我的脑子啊.学Python我用的Ananconda,但是这个spyder有 ...

  4. arguments解析

    js中并没有函数重载的概念,但函数的arguments参数能帮助我们模拟重载. arguments并不是真正的数组,但拥有length(参数数目),且能通过数组下标的方式进行访问,例如argument ...

  5. INSPIRED启示录 读书笔记 - 第28章 创业型公司的产品管理

    产品设计方式 第一步:创业初期只设三个职位,产品经理.交互设计师和原型开发人员(职位可以兼任) 第二步:快速展开产品设计(高保真原型),邀请真实的目标用户验证产品原型,迭代修改 第三步:随着迭代的深入 ...

  6. [Android]开源中国源码分析之一---启动界面

    开源中国android端版本号:2.4 启动界面: 在AndroidManifest.xml中找到程序的入口, <activity android:name=".AppStart&qu ...

  7. pom.xml里使用了一系列的版本的框架,配置一个版本属性,让使用版本的都引用这个属性

    在pom.xml定义properties标签 <properties> <project.build.sourceEncoding>UTF-8</project.buil ...

  8. Centos7 搭建DNS服务器与原理配置详解

    在搭建我们自己DNS服务器之前,先必须了解下DNS服务器的作用和原理. DNS是在互联网上进行域名解析到对应IP地址的服务器,保存互联网上所有的IP与域名的对应信息,然后将我们对网址的访问,解析成IP ...

  9. 剑指Offer——链表中倒数第k个节点

    Question 输入一个链表,输出该链表中倒数第k个结点. Solution 一种想法就是扫描两边,第一遍求出总的节点个数,第二遍从头开始走n-k个 第二种思想类似于fast-slow指针的方法,f ...

  10. MapReduce-计数器

    计数器 计数器是收集作业统计信息的有效手段之一,用于质量控制或应用级统计.计数器还可辅助诊断系统故障.根据计数器值来记录某一特定事件的发生比分析一堆日志文件容易得多.内置计数器Hadoop为每个作业维 ...