Java hour 52 Weather
采用jetty 后,默认的welcome-file-list 配置失效了,直接跳转到了struts2 的control 中去了。
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>*.action</url-pattern>
- </filter-mapping>
修改对应的filter 配置即可,让struts2 只拦截action.
jetty run 还是不错的,实现了热部署。
Requirement 回顾
上章实现了weather 的数据库查询操作。
- private void getWeatherInfo() {
- Session session = HibernateUtil.getSessionFactory().openSession();
- Query query = session.createQuery("select u from Weatherinfo u");
- List list = query.list();
- session.close();
- }
这里有两点要改进
1 是这个查询过程有点累赘,类似于.Net 应该有一份HibernateHelper 之类的东西。
2 这里该为只返回一条记录
先升级为帮助类,再升级被DAO 层。
以下内容大致参考:http://www.docin.com/p-620556454.html
- public boolean save(final T t) {
- Session session = HibernateUtil.getSessionFactory().openSession();
- Transaction tx = session.beginTransaction();
- session.save(t);
- tx.commit();
- session.close();
- return true;
- }
- public boolean delete(final T t) {
- Session session = HibernateUtil.getSessionFactory().openSession();
- Transaction tx = session.beginTransaction();
- session.delete(t);
- tx.commit();
- session.close();
- return true;
- }
- public boolean update(final T t) {
- Session session = HibernateUtil.getSessionFactory().openSession();
- Transaction tx = session.beginTransaction();
- session.update(t);
- tx.commit();
- session.close();
- return true;
- }
- @SuppressWarnings("unchecked")
- public T queryFrom(final String hql) {
- T t = null;
- Session session = HibernateUtil.getSessionFactory().openSession();
- Transaction tx = session.beginTransaction();
- Query query = session.createQuery(hql);
- t = (T) query.uniqueResult();
- tx.commit();
- session.close();
- return t;
- }
- @SuppressWarnings("unchecked")
- public List<T> queryList(final String hql) {
- List<T> t = null;
- Session session = HibernateUtil.getSessionFactory().openSession();
- Transaction tx = session.beginTransaction();
- Query query = session.createQuery(hql);
- t = query.list();
- tx.commit();
- session.close();
- return t;
- }
改进我们的查询
- private Weatherinfo getWeatherInfo() {
- Weatherinfo result = new HibernateQuery<Weatherinfo>().queryFrom("from weatherno w where w.city = '杭州'");
- return result;
- }
瞬间就发现对于HQL 我是一无所知啊,下一节补上。
Plan List:
1 MySql
2 JVM
3 Java 中的泛型
4 HQL 查询语句
Java hour 52 Weather的更多相关文章
- Java Hour 21 Weather
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为21 Hour,请各位不吝赐教. 继续心情不佳,那 ...
- Java Hour 43 Weather ( 12 ) - 杭州 Show
终于从fastjson 的阴影中走出来了,接下去就是显示一个完整的天气信息了. 43.1 Weather Show 首先增加Model 中的属性. public class Weatherinfo { ...
- Java Hour 38 Weather ( 11 ) – fastjson
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 38 Java 中的 json 反序列化 其实就是所谓的json 转 ...
- Java Hour 37 Weather ( 10 )
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 36 Weather 从失败的地方爬起来 在jsp 中,使用EL 表 ...
- Java Hour 35 Weather ( 8 ) struts2 – message resource
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 35 刚发表了一条闪存,在这个公司快满3个月了,该正式决定留下来还是 ...
- Java Hour 33 Weather ( 6 )
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 33 CURD 之 Create 首先是Eclipse 排序的功能找 ...
- Java Hour 32 Weather ( 5 ) struts2 – Action class
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 32 Struts2 Action 1 将action 映射到 ac ...
- Java Hour 30 Weather ( 3 )
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 30 上回终点 Model 这里有一些java bean 的 风格约 ...
- Java Hour 29 Weather ( 2 ) Maven
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 29 Weather 界面 数据源采用上次取得的杭州天气的json. ...
随机推荐
- ASP.NET版Memcached监控工具(转载)
在上一篇文章<使用Memcached提高.NET应用程序的性能>中周公讲述如何在.NET中使用Memcached来提高.NET应用程序的性 能.在实际的使用中有可能出现Memcached因 ...
- C++ 中宏的使用 --来自:http://blog.csdn.net/hgl868/article/details/7058906
宏在代码中的使用实例: g_RunLog2("Middleware client for Linux, build:%s %s", __DATE__, __TIME__); 下面详 ...
- 详述Linux ftp命令的使用方法
转自:http://os.51cto.com/art/201003/186325.htm ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里 ...
- Java主流日志工具库
在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息.在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子.我们先来逐一了解一下主流日志工具. 1.java.util.lo ...
- 字符串模拟赛T2
// source code from laekov for c0x17 #define PRID "fkqh" #include <cstdio> #include ...
- 第16章 使用Squid部署代理缓存服务
章节概述: 本章节从代理缓存服务的工作原理开始讲起,让读者能够清晰理解正向代理(普通模式.透明模式)与反向代理的作用. 正确的使用Squid服务程序部署代理缓存服务可以有效提升访问静态资源的效率,降低 ...
- vim常用指令及快捷键(持续更新)
(这些文章都是从我的个人主页上粘贴过来的,大家也可以访问我的主页 www.iwangzheng.com) 发现了个非常赞的网站 http://openvim.com/ 以下很多操作都是安装好vund ...
- 配置oss bucket cors
到bucket中属性中选择跨越设置,点击添加规则会看到以下界面: 对应的输入如上即可.
- Python: 什么是*args和**kwargs
转自: http://blog.sina.com.cn/s/blog_65a8ab5d0101fglm.html http://blog.csdn.net/chenjinyu_tang/article ...
- excel中如何批量将所有的网址设为超链接
首先如果数据较少的话,只需要双击鼠标左键,回车,就会自动转换成超链接. 转自: http://zhidao.baidu.com/question/200363361.html?qbl=relate_q ...