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. ...
随机推荐
- 使用存取方法来设置Property value
对比如下代码,第一种使用了存取方法来设置,第二种直接对实例变量操作.显然我们应该采用第一种, 使用第二种情况,简单的情况还好,如果情况一旦复杂,就非常容易出错.并且直接对实例变量操作,不会引发KVO通 ...
- 编译过程中,termcap.h 文件找不到路径 licli.a终于生成
编译过程中,termcap.h 文件找不到路径 查看是linux 源码下找不到termcap.h文件 安装了所有关于*cap*的源码包也不起作用 今天终于解决了这个问题,搜 ...
- tcpdump 时报ServFail 0/0/1 (97)
ServFail 结合业务应该是dns server fail 0/0/1 1/0/0表示机器号/槽位号/子接口号 ...
- RHEL6.4记录一次添加一块新分区的操作
首先看了下挂载点及目录 fdisk /dev/sda [root@box ~]# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. ...
- 用windbg+sos找出程序中谁占用内存过高,谁占用CPU过高(转载)
原文地址: http://www.cnblogs.com/Lawson/archive/2011/01/23/1942692.html 很早看到windbg+sos方面的知识,一直没仔细学习,也许因为 ...
- 实战 -- Redis2.4.2集成spring3.2.2
redis.host=... redis.port= redis.pass= redis.timeout= #最大能够保持idel状态的对象数 redis.maxIdle= #最大分配的对象数 red ...
- Android Toast 封装,避免Toast消息覆盖,替换系统Toast最好用的封装
Android Toast 封装,避免Toast消息覆盖,无阻塞,等强大功能 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...
- xocde真机测试 内存查看
如上, 有的时候真机调试, 内存和cpu占用没有被展示出来, 那么真机测试的时候怎么查看我们当前使用的内存呢, 有办法: instrument->activity monitory 点击左上角的 ...
- UIView中UIButton设置监听
红色框框是一个uibutton _priceValueLabel是他的父视图, 必须要把button的父视图设置userInteractionEnabled = YES, button的 监听才会生效 ...
- A desmos graph supersampling test