- 浏览: 26502 次
- 性别:
- 来自: 北京
最新评论
-
gangbalisun:
我也大三,学的也是java,我的qq是1239806145,希 ...
一个很畸形的问题(大三面对的)
文章列表
观察者模式是设计模式中一种很重要的模式,好多时候它能给人一种自动化的感觉。例如MFC中的回调函数、java的AWT、SWING中的组件事件都采用的是这种模型。
那么我们就先来理解一下这种模型的概念及其生存价值:
所谓的观察者模式就是通过模拟人的眼睛,当眼睛发现周围的情况发生改变时,都会给大脑一个通知,告诉大脑所发生的变换,然后大脑就会做出相应的判断、抉择。这样就实现了一种“自动化”。联想一下java中的事件机制,看着都是很奇妙、很玄乎的,总是给人一个自动化的感觉,例如当我们点击一个组件时,就会引发另一个组件的改变或者其它改变,它所利用的就是一种观察者模式。
那么这种模式的生存价值怎样呢 ...
Java十分的提倡面向对象,那么我们利用hibernate是如何的实现多态呢,hibernate提供三种方法:
1、 所有的子类重复父类的配置
2、 以父类为名字建立一个表,表中包含有它所有的子类的信息(如果某个子类中没有其它子类的字段,则填充值的时候设置为空即可),需要在配置文件中配置子类的标识。
3、 用连接标签,即父类、子类分开配置,通过外键链接。
代码见证:
1.每个子类单独配置:
这个我觉得没有必要代码实例了,因为我们一直都采用的是这种方式(所有的类都继承自Object,只不过Object中不含有java Bean,所以没有增加新的属性字段)。
2.将所有的 ...
hibernate的查询——HQL
- 博客分类:
- Struts2
HQL(hibernate query language的缩写),它与SQL语法很像,但是它是一个面向对象的查询语言。它的操作对象是类、实例、属性等。当然它也具有面向对象的特征(继承、多态等)。
其中有一个很重要的接口:Query
这个接口的方法设计采用方法链的方式,与jquery的设计方式一样的。例如它里面的setXxx方法返回值也是Query本身,并且它还包括两个方法:1、setFirstResult(int firstResult):设置返回的结果集从第几条记录开始;2、setMaxResult(int maxResult):设置本次查询返回的结果数。
语句分析:
1. fr ...
Hibernate中的关系可以分为:单向关系和双向关系。顾名思义说的是从一方是否可以访问另一方,对应到数据库中也就是根据一方的值是否也可以检索出另一方的值了。
单向关联可以分为:
<!--[if !supportLists]-->l
<!--[endif]-->单向1-1
<!--[if !supportLists]-->l
<!--[endif]-->单向1-N
<!--[if !supportLists]-->l
<!--[endif]-->单向N-1
...
hibernate中的集合类标签
- 博客分类:
- hibernate
List是一个有序集合,所以当其生成简单表的时候,需要指定其下标(通过list-index标签),并且需要指定其表的名字。List所对应的表中以一个外键和下标作为联合主键。
一个简单的例子,list中存储的是简单的数据类型:
建 ...
最近有好多的培训公司到我们学校去宣传他们的培训机构有多么多么的好,哎把人讲的天花乱坠的。但实际上他们的培训水平都不咋地,或许从某种意义上讲,更多靠的是学员的个人学习能力……
然而对于我而言,我就很是纠 ...
断断续续的看hibernate有好几天了。每当学了一点点的知识,我都要思考hibernate的价值、或者站在另一个角度去思考。还好了,让我更加深刻的理解了hibernate的作用。
其实hibernate就相当于java的专有数据库。根据java EE的特性——多用户、大量访问,那么自然就不能手工的直接去操作数据库了,因为当我们手动的去操作的时候很多时候都会造成一些冗余操作,你如果给数据库发送两个请求,那么数据库也就会不折不扣的执行两个操作,然而令人悲哀的是:数据库是存储在硬盘上的,需要通过io进行操作,那么也就会使得网站的数据库操作部分变成一个瓶颈。那么就这样hibernate诞生了, ...
异常处理中的一个小知识
- 博客分类:
- java application
最近在学习hibernate呢,里面有一个全局的一个变量:SessionFactory。那么很明显我们需要将其静态生成。
我写的是一个application程序,是在main方法外面将其动态生成的。
这个变量的初始化需要写在一个static的代码块中,而且这个变量的初始化还可能抛出异常。
还好本人的能力不咋地,就遇到了这样的一个问题:变量的初始化发生了异常,而且最后还显示了一个找不到main函数的警告框。
因为,我并没有进行异常处理,那么当再static代码块中遇到了异常,就不会向下执行了,直接抛给jvm虚拟机了,自然就发现不了main函数了,由此也可以证明,一个类初始化的时候,需要先进 ...
下面几个javaBean的getXXX()和setXXX()方法省略
Address.java
public class Address
{
private String homeAddress;
private String companyAddress;
.........
}
Pet.java
package dong.application.ognl;
public class Pet
{
private String name;
private String color;...................
}
Pe ...
初识hibernate
- 博客分类:
- hibernate
注:本文只是本人的个人理解,仅供参考,由于刚刚开始学hibernate框架,里面如果纰漏,还请网友多多指点。
我采用的是MyEclipse进行Web开发的。
此次,我打算是将struts2与hibernate整合开发,说是整合,也就是将连接数据库的部分用hibernate操作而已。
进入正题。。。
在MyEclipse中提供有struts2、hibernate、spring框架,你可以直接用里面的框架进行编译项目。具体的就靠自己慢慢摸索了(提示一下:MyEclipse->Project Capablities->…里面就包含有Myeclipse提供的框架的jar包)。当 ...
mysql 学习总结
- 博客分类:
- SQL
注:本文部分内容参考互联网,并非原创。
官方文档下载链接:http://dev.mysql.com/doc/
安装的时候需要注意的就是字符集的选择,要选择utf-8,以方便中文的显示。
安装后的命令学习:
1、 登录:mysql –u[username] –p[password]即可,例如:mysql –uroot –proot
2、 密码修改:mysqladmin –u[username] –p[oldpassword] password [new password],例如:mysqladmin –uroot –proot password wlzjdm
3、 新增一个用户: ...
拦截器的工作流程:
下面的就是当一个请求到struts2的时候,框架所做的事情:
框架首先寻找去调用哪一个Action class去处理request,并且会通过action配置去寻找要执行的过滤器。
现在过框架会生成一个ActionInvocation的实例并且会去执行invoke()方法。此时此刻,框架会将控制权转交给ActionInvocation以进行将来的处理。
ActionInvocation会将action和interceptors进行封装,并且知道拦截器将以怎样的次序被调用。
ActionInvocation会调用拦截器栈中的第一个拦截器的i ...
最近在学习struts2,见到网上有好多好的代码下载链接,大概有四十多个吧,挺多的,一个一个点的着实有点累,所以就编写了一个软件实现自动下载.用户输入一个要解析的页面地址、要下载的文件类型、文件保存的位置,本软件就 ...
哈哈,一颗好奇心、一颗永不满足的心让我终于解决了这个问题。
解决问题来源:官方的教程(英文的,虽然英语不咋地,还是硬着头皮给看完了。(*^__^*) 嘻嘻……),获取办法google搜索struts2然后找到带有apache的网址,也就是在www.apache.org中的一个分支了。
下面就说一下里面的具体问题吧:
当我们需要用到注解的时候,需要引入一个jar包,名字为:struts2-convention-plugin-2.3.1.2.jar,先提示一下,千万别小看这个包哦,这个包可是很“智能”的,如果你很想自己手工完成某些操作,而你引入了这个包,它很可能破坏你的打算哦。下面就看一 ...
Struts2的启动过程源码分析
- 博客分类:
- Struts2
此文重点分析struts启动的时候加载的配置文件信息:
郑重声明:此篇文章完全是自己经过单步调试、及其自己的理解而写的,其中如有错误之处,还请朋友指点。读者在阅读的时候,如果有问题,还建议去自己探究发现、或者与我交流,不能尽信此文。还有部分的信息是参考网上的,在文章最后备注有参考链接。
我们在XML中配置的就是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter这个类,这个是进入struts构架的入口,也就是它将struts2嵌入嵌入到我们的工作中。
下面是它的初始化函数,当该函数执行完成之后,也就 ...