菜鸟问题 本帖最后由 xuzhenghang 于 2010-02-11 17:10:31 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你被框架给束缚了。public class QueryDAO extends HibernateDaoSupport { /** * 返回Query 将要执行的SQL对象 * @param pcn 调用参数上下文 * @return */ public Query getQuerys(ParamsContext pcn) { Query query=getSession().getNamedQuery("XXX"); }} 可以使用回调接口List list=getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { // dosomething }}); LZ你好你可以去查询一下hibernate也是支持query查询语句拼接的hibernate的增删改全是对象用不惯的话 也可以自己拼接 String strsql = "from Product p where p.name like %"+name+"%";这样字符串拼接不就动态了么 查API HibernateTemplate的List executeFind(HibernateCallback HibernateCallback )Object execute(HibernateCallback HibernateCallback)这2个方法能解决你的问题了,HibernateCallback是个接口,怎么写匿名内部类,你去看看资料吧List find(String queryString, Object[] values) List find(String queryString, Object values) List find(String queryString) 更方便一点 楼主莫急,咱们一起来学...1.public Object findQuerySql(final String sql, final Object... p/*参数*/) { return super.getHibernateTemplate().execute(new HibernateCallback() { // @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { Connection conn = session.connection(); PreparedStatement pstmt = conn.prepareStatement(sql); //如果有就添加参数 if (null != p && p.length > 0) { for (int i = 1; i < p.length + 1; i++) { pstmt.setObject(i, p[i - 1]); } } ResultSet rs = pstmt.executeQuery(); Object obj = null; while (rs.next()) { obj = rs.getObject(1); } return obj; } });}2.load() \ get()1)public T loadPojo(Class<T> c, Serializable id) throws CommonException { return (T) super.getHibernateTemplate().load(c, id); }2)public T getPojo(Class<T> c, Serializable id) throws CommonException { return (T) super.getHibernateTemplate().get(c, id); }3.4在1中的回调中有session(参数)其实有了她,添删改查啥东西都能出来了!用this.getHibernateTemplate().delete()你还可以用循环删除 为什么部署在resin上的项目会无缘无故的死掉, 重启resin又好了 求助!将图片插入到word文件,用JAVA语言或者JS该怎么操作? 求单个jsp页面展示多条曲线示例!谢谢 mysql驱动程序的类路径的加载一次就可以了吗 Hibernate操作数据库问题 讨论web service、soa和bpel IOException: Async IO operation failed (1), reason: RC: 32 什么是反射机制! 请教ejb 调试高招 公司很长时间没项目做,郁闷,谁有做不完的项目?(价格优惠) 有关java的平台搭建 请教个hibernate的问题
/**
* 返回Query 将要执行的SQL对象
* @param pcn 调用参数上下文
* @return
*/
public Query getQuerys(ParamsContext pcn) {
Query query=getSession().getNamedQuery("XXX");
}
}
List list=getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// dosomething
}});
你可以去查询一下
hibernate也是支持query查询语句拼接的
hibernate的增删改全是对象
用不惯的话 也可以自己拼接
这样字符串拼接不就动态了么
List executeFind(HibernateCallback HibernateCallback )
Object execute(HibernateCallback HibernateCallback)
这2个方法能解决你的问题了,HibernateCallback是个接口,怎么写匿名内部类,你去看看资料吧
List find(String queryString, Object[] values)
List find(String queryString, Object values)
List find(String queryString)
更方便一点
1.
public Object findQuerySql(final String sql, final Object... p/*参数*/) {
return super.getHibernateTemplate().execute(new HibernateCallback() {
// @Override
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Connection conn = session.connection();
PreparedStatement pstmt = conn.prepareStatement(sql);
//如果有就添加参数
if (null != p && p.length > 0) {
for (int i = 1; i < p.length + 1; i++) {
pstmt.setObject(i, p[i - 1]);
}
} ResultSet rs = pstmt.executeQuery();
Object obj = null;
while (rs.next()) {
obj = rs.getObject(1);
} return obj;
}
});}2.load() \ get()1)
public T loadPojo(Class<T> c, Serializable id) throws CommonException {
return (T) super.getHibernateTemplate().load(c, id);
}
2)
public T getPojo(Class<T> c, Serializable id) throws CommonException {
return (T) super.getHibernateTemplate().get(c, id);
}
3.4
在1中的回调中有session(参数)其实有了她,添删改查啥东西都能出来了!
用this.getHibernateTemplate().delete()你还可以用循环删除