今天老师让做Hibernate的Criteria的查询,也让我们顺便在熟悉下SSH框架,我就翻倒出来我一直准备的一个框架,开始在上面上敲ing,期间老师也给我们发了一个网址(也就是JE上的),让我们看看,我就结合着文章开始了做了起来,建起了数据库,生成了POJO,紧接着测试了DAO,但是老师报空指针异常,开了会,又测了测还是空,就让老师帮我调了一下。老师过来点开了错误行数,一看 Session sess = null; Criteria crit = sess.createCriteria(Cat.class); (JS写多了把,怎么会出这个笑话,笨!)
老师就笑了,“闹笑话了这是,session是空怎么取值”,当时就楞了,以为直接拿过来session就能用呢,结果必须得到session才行,也就是Session sess = this.getSession();或者用getHibernateTemplate()模板去得到session 。 想想真惭愧啊,真是闹笑话了,基础实在太烂了,再不补就烂泥收不起来了。我希望我把我每次犯下的错误都写到博文上,铭记自己的过失,并攒下来我的失败经验,把他们变成宝贵的成功果实,一点一滴。
我也查了下hibernate session 的所有创建方式 特此提醒自己:
开发J2EE项目时会常常考虑到Session对象创建的问题,一般有以下几种使用方法:
1、类的某个方法中创建一个对象。
2、创建一个工具类,负责创建Session对象,要获取Session对象时调用方法获取即可。
a、工具类中是采用单例模式。
b、static{}中加入SessionFactory对象,表示整个应用程序只创建一次。
c、提供一个getSesssion()方法,使用户获取对象。
3、在应用程序Tomcat服务器启动时就创建对象。
以下代码使用第三种方式创建Session对象。
二、在Tomcat启动的时,利用Filter进行Session的创建及关闭:
1、创建一个Filter文件:HibernateFilter.java
public class HibernateFilter implements Filter {
private static ThreadLocal threadLocal=new ThreadLocal();
private static SessionFactory sessionFactory=null;
public void destroy() {
}
public void doFilter(ServletRequest arg0, ServletResponse arg1,
FilterChain arg2) throws IOException, ServletException {
try{
getSession();
}finally{
Session session=(Session)threadLocal.get();
if(session!=null){
if(session.isOpen()){
session.close();
}
threadLocal.remove();
}
}
}
public void init(FilterConfig arg0) throws ServletException {
Configuration cfg=new Configuration().configure();
sessionFactory=cfg.buildSessionFactory();
}
public static Session getSession(){
Session session=(Session)threadLocal.get();
if(session==null){
session=sessionFactory.getCurrentSession();
}
return session;
}
}
优点:Session的打开和关闭统一由Filter进行管理。
2、配置文件中配置Filter:(web.xml)
<filter>
.........
</filter>
3、测试
在程序中调用HibernateFilter类获取一个Session对象。
分享到:
相关推荐
故事三【糊涂花猪闹笑话】则以幽默的方式展现了小花猪因为粗心和捉弄人而带来的后果。小花猪的误导让集邮爱好者们误会,而他的恶作剧也导致了消防队的误判。这个故事告诫我们,不应该随便开玩笑,以免引起不必要的...
阅读理解部分,包含两个文段:一是《北人不识菱》,讲述了一个北方人因不了解菱角的特性而在南方闹笑话的故事,寓言旨在告诫人们不要装懂,应实事求是。二是《同一个名字》,通过讲述沃尔特·詹森与波多黎各移民的...
选项C "in case" 表示"以免",符合句子情境,即Darky担心纽扣扣错而闹笑话,因此选择C。 2. 此题考察动词短语辨析。"call for"在此表示"需要,要求",与solution搭配合适,表示问题需要立即解决,故选D。 3. 句子...
例如小猴的故事,它揭示了学习需要专注和认真,不能浅尝辄止,否则会闹笑话。 5. **故事顺序的构建**:一个完整的故事应该有明确的起因、经过和结果。小猴的故事中,起因是小猴对学习的轻视,经过是他课堂上的失误...
同时,还提出了“词语搭配要适当,用错量词闹笑话”的警示,强调了正确使用量词的重要性。 此外,教案中还有一些形容词和动词的运用,如“板凳椅子”、“棉被本领”、“习惯宣布”、“自信容易”、“粗糙称赞”等,...
他虽然时常闹笑话,但在关键时刻也会挺身而出,帮助团队度过难关。这让我们认识到,每个人都有缺点,但只要心中有爱,也能发挥自己的价值。 沙僧作为团队中的和事佬,他的形象象征着平和与忍耐,他的忠诚和尽职尽责...
- 教案中提到“词语搭配要适当,用错量词闹笑话”,这强调了词语搭配的规则性和恰当性。比如,“板凳椅子”和“棉被”是常见的生活用品,而“本领”、“习惯”等是抽象概念,这些词语搭配的例子帮助学生理解不同...
- 猪八戒:性格憨厚,有些贪吃和懒散,但关键时刻也能挺身而出,他的法名是猪悟能,虽然时常闹笑话,但对师傅忠诚。 - 沙和尚(沙僧):忠诚老实,任劳任怨,扮演了团队中的协调者角色,法名沙悟净。 3. 故事内容...
- **因书而闹笑话**:文中提到的一些因过度沉迷于阅读而发生的趣事,比如在书店忘却时间或是边走路边看书撞到东西等,这些都反映了作者对书籍的热爱之情。 - **家庭互动**:与父亲分享阅读体验的过程,不仅增进了...
这些“笑话”揭示了在文学创作中,即使是最具才华的作家,也可能会在处理历史细节时犯错。对于读者来说,尽管这些错误可能不影响故事的整体吸引力,但对于追求历史真实性的读者来说,它们无疑会打破沉浸感。这也提醒...
师爷将知县的“竹竿”误听为“猪肝”,并因此闹出了笑话,展现了方言在理解上的独特性。 ### 知识点六:成语的灵活变化 **例子六:“见鸡而作”。** - **知识点解释**:在这个例子中,地主通过改变成语“无稽之谈...
当被要求表演节目时,不论是唱歌、跳舞还是讲笑话,都应视为活跃气氛的方式,而非正式的演出。如果担心表现不佳,新人可以在事前准备好一些擅长的节目,如简短的歌曲、舞蹈或者魔术表演,这样可以增加自信心,同时也...
新郎新娘可以预先准备一些才艺展示,如歌曲、舞蹈、小魔术或者笑话,这些都是活跃气氛的好方式。如果感到无法表演,也可以准备一些谜语或对联,让其他人回答,以此转移注意力。 3. **讲述罗曼史** 通常在闹洞房时...
DZ2.0完美底部美化,无毒,可扫描!...2,非DX程序默认处,有几处链接修改成你自己的,要动手的哈,别说我是整的暗链,闹出笑话就不好了; 3,其他代码推荐别动,绝对符合DX本身程序默认代码规则。
模仿"林志玲"、"蜡笔小新"等9位主播为您讲笑话、说段子,还可以设为手机铃声、分享好友。 应用特点: 海量最新、最热的糗事、冷笑话、有声精彩段子、经典语录百看不厌 “马三立”、“蜡笔小新”、...
1,图片一起打包,四张图片,觉得需要你就用此...2,非DX程序默认处,多处链接均为本站请修改成你自己的,要动手的哈,别说我是整的暗链,闹出笑话就不好了; 3,其他代码推荐别动,绝对符合DX本身程序默认代码规则。
3. **提前准备**:为了使活动更加顺利,新人可以预先准备一些简单的节目,如唱歌、跳舞、表演小魔术或讲笑话。这些都可以在被要求即兴表演时派上用场。 4. **转移焦点**:如果找不到合适的表演项目,可以准备一些...
- “闹出笑话”中的“闹”在这里表示“干、弄”,选③。 - “闹市区”中的“闹”表示“不安静”,选①。 - “乘凉”中的“乘”表示“利用”,选③。 - “乘车”中的“乘”表示“坐”,选①。 - 答复问题: - ...
- “闹”在不同语境中有不同的含义,文中“闹出笑话”指的是引起尴尬或出错的情况,对应选项③。 - “乘凉”中的“乘”意为利用,对应选项③,表示利用凉爽的夜晚在户外休息。 - “乘车”中的“乘”意为坐,对应...
《逃学的小猪》描绘了小猪因为贪玩逃学,不专心学习,结果在购物和吃饭时因为词汇混淆闹出了笑话。故事告诫孩子们要认真对待学习,专心听课,同时不要模仿小猪的不良行为,如逃学和浪费钱。 这三个故事都是寓言性的...