自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(24)
  • 收藏
  • 关注

原创 Spring注释和简化配置简单介绍

<br />Spring注释和简化配置简单介绍 <br />可以说,在Java开发中离不开Spring。在Spring 2.5及以后的版本中,提供了注释和命名空间来简化Spring的配置。<br />本文就在实际应用中,把最常用的注释和配置做个简单的整理和介绍,也就是本人使用最多的一些功能,其他更高级的功能可以参考Spring官方文档(http://www.springsource.org/documentation)或是通过Google一下。<br />一、@Autowired注释<br />以前给一个B

2011-03-17 08:19:00 348

原创 spring的依赖注入

<br />1.构造方法注入<br />public UserBean(String name, String password) {<br /> this.name = name;<br /> this.password = password;<br />}<br />  <bean id="a" class="com.hongfeng.spring.bean.UserBean"><br />      <constructor-arg name="name" value="panwenju"/><br

2011-03-15 16:37:00 270

原创 命名查询

<br />static void namedQuery(String name){//括号里可以为任何查询的条件<br />  Configuration cfg=new Configuration();<br />  cfg.configure();<br />  SessionFactory sf=cfg.buildSessionFactory();<br />  Session session=sf=sf.openSession();<br />  Query query=session.getN

2011-03-07 14:36:00 160

原创 hibernate的监控器

<br />监听器:<br />saveorupdate监听器,如果自己写一个 就会覆盖默认的,<br />默认的为:org.hibernate.event.def.DefaultSaveOrUpdateEventListener<br /> <br />如果要对某个实体进行监控,就需要写该实体的监控器。。此监控器必须要实现SaveOrUpdateEventListener接口。<br />同时保存时如果需要保存到数据库 就必须在hibernate.cfg.xml中配置默认的事件org.hibernate.

2011-03-07 14:02:00 585

原创 Hibernate的一些其他问题

<br />Session是非线程安全的,生命周期较短,代表一个和数据库的连接,在b/s系统中一般不会超过一个请求;内部维护一级缓存和数据库连接,如果session长时间打开,会长时间占用内存和数据库连接。<br />SessionFactory是线程安全的,一个数据库对应一个SessionFactory,生命周期长,一般在整个系统生命周期内有效;SessionFactory保存着和数据库连接的相关信息(user,password,url)和映射信息,以及hibernate运行时要用到的一些信息<br />

2011-03-07 09:25:00 189

原创 关于hibernate缓存的问题

<br />缓存的作用主要是用来提高性能,可以简单的理解成一个Map;使用缓存涉及到三个操作:把数据放入缓存,从缓存中获取数据,删除缓存中的无效数据<br /> 缓存也有可能溢出的。。可以用evict跟clear清除<br /> <br /> <br />比如第一次查询时是在数据库,如果第二次查询一样的数据就不需要去查询数据库,直接在缓存中查询,这样就可以提高查询的效率<br />下面的这些数据都是可以在hibernate.properties中查询到的。。。<br />具体文件的配置如下:hibernat

2011-03-05 08:12:00 183

原创 hibernate配置文件出现的问题

<br />The content of element type "session-factory" must match "(property*,mapping*,(class-cache|collection-cache)*,event*,listener*)"<br />出现这样的错误原因很多<br />不过有一个原因可能是 比喻说这样的<br /><mapping resource="com/vo/Users.hbm.xml" /><br />   <mapping resource="com/v

2011-03-05 08:03:00 774 2

原创 26.关联关系的级联操作和维护关系(cascade 和inverse)

<br />Cascade: <br />关联关系的级联操作一般都是发生在一对多,一对一之间,主要是用来说明对主对象进行相关的操作时,是否也对从对象进行类似的操作<br />这里Cascade的取值:none,all,save-update,delete,lock,refresh,evict,replicate,persist,merge,delete-orphhan(one-to-many).当然使用级联关系最多的是save-update,用delete的时候需要多考虑<br />关系之间的维护:<br

2011-03-02 09:50:00 207

原创 关联映射

<br />关联映射(User-Name)<br />关联的属性是个复杂类型的持久化类,但不是实体也就是说数据库中没有表与该属性对应,但该类的属性需要持久保存<br /><component name="name" class="com.test.hibernate.domain.Name"><br />  <property name="initial"/><br />  <property name="first"/><br />  <property name="last"/><br /></comp

2011-02-28 15:13:00 135

原创 懒加载

<br />懒加载<br />通过asm和cglib两个包实现的;Domain是非final的<br /> 1.session.load懒加载<br /> 2.one-to-one(元素)懒加载:<br />    必须同时满足下面三个条件时才能实现懒加载<br />    (主表不能有constrained=true,所有主表没有懒加载)<br />    lazy!=false 2)contrained=true 3)fetch=select<br /> 3.one-to-many(元素)懒加载:1)l

2011-02-28 14:08:00 173

原创 多对多

<br />多对多其实可以转化为两个一对多。。。<br />eg:《teacher/students><br /><set name="teacher" table="teacher_student"><br />  <key column="teacher_id"/><br />  <many-to-many class ="Student" column="student_id"/><br /></set><br /> <br />teacher_student中间表<br /> 

2011-02-28 11:00:00 146

原创 hibernate第一部分的总结

<br />先讲述下 一般都能用到的hibernate开发流程:<br /> 1.根据DB写实体类,写完后接着写XX.hbm.xml,跟hibernate.cfg.xml配置文件,xx.hbm。xml中主要是写对应实体的属性,hibernate.cfg.xml中主要是写跟Jdbc差不多的配置信息,主要是用于连接数据库用。<br />2.最好建议写个对应的工具类,里面主要写需要用到的一些session等公用的的信息,采用单例模式,这样只需要生成一次就好了。。。后面就不需要重新生成了。。<br />3,然后写对

2011-02-23 17:22:00 183

原创 第一课 hibernate简单映射数据库

首先写个实体类,然后写个对应的映射文件,x.hbm.xml这里面主要写对应的实体里的属性,然后配置个hibernate.cfg.xml配置文件,这里主要写连接数据库的一些配置信息,当然也要map到x.hbm.xml文件,最后写相关的测试类:  eg:             configuration cfg=new Configuration();              cfg.configure();           SessionFactory sf=cfg.buildSessionFacto

2011-02-22 13:20:00 115

原创 搭建我的智囊团出现的问题

<br />第一个问题:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener   出现这个问题的原因有可能的其中一点就是spring的jar包没有被加载,有的时候没有拷spring的jar包会出现这个错误,但是当你拷了以后这个错误并没有消失的时候就说明jar包没有被加载,切记spring的jar包一定要放在工程的lib下这样才能避免这个错误的发生。 第二个错误:org.springfra

2011-02-21 11:13:00 238

原创 标签防止重复提交

<br /><s:token/>标签防止重复提交<br /><s:token/>标签防止重复提交,用法如下:<br />第一步:在表单中加入<s:token/><br /><s:form action="hellowrld" method="post" namespace="/test"><br />  <s:textfield name="person.name"/><s:token/><s:submit/><br /></s:form><br />第二步:<br /><action name=" cla

2011-02-01 09:56:00 136

原创 struts2的常用标签

生成类似如下路径:/struts/test/helloworld_add.action?personid=23当标签的属性值作为字符串类型处理时,%符号的用途是计算OGNL表达式的值。输出结果: #myurl            http://www.sina.com%{}就是明确告诉程序这就是ognl表达式+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2011-02-01 09:40:00 225

原创 struts2中的ognl表达式

struts2中的OGNL,context的实现者为Actioncontext,它的结构示意图如下:当struts2接受一个请求时,会迅速创建Actioncontext,Valuestack,action.然后把action存放进ValueStack,所以action的实例变量能够被OGNL访问。具体的访问OGNL Context的里面的对象属性,需要在前面加#,eg:#request但如果访问的是根对象里面的属性,则不需要加#,比如访问ValueStack里面的属性就不需要加#,OGNL访问的顺序: 从栈

2011-02-01 08:31:00 205

原创 struts2中的输入校验的流程

<br />1.首先类型转换器对请求参数进行类型转换,并把转换后的值赋给action中对应的属性。<br />2.如果在执行类型转换中出现异常,系统则会将异常信息通过ActionContext,ConversionError将异常信息保存到fieldError中,<br />不管类型转换是否异常,都会步入第三步<br />3.系统通过反射技术先调用action中的validateXXX方法,XXX为需要验证的方法名。<br />4.再调用action中的validate方法<br />5.经过上面四步,如果

2011-01-30 14:26:00 169

原创 struts2中的输入校验

在struts2中我们可以对action中的所有方法进行校验,也可以对action中某个指定的方法进行校验。对于输入校验,struts2提供了两种实现方法 1.采用手工编写代码实现 2.基于xml配置方式实现具体的实现如下: 1.如果是校验action中的所有方法,则需要继承ActionSupport这个类,并且需要重写里面的validate()这个方法,在validate()方法里做具体的验证,比如验证手机号:mobilephone;需要在action里做如下处理:if(mobilephone==null

2011-01-30 14:16:00 415

原创 struts2中如何上传文件

<br />文件上传<br />第一步:在lib下面加入commons-fileupload.jar .commons-io.jar.<br />第二步: 把form表的enctype设置为:"multipart/form-data",如下:<br />      <form enctype="multipart/form-data" action="",method="post"><br />         <input type="file" name="uploadImage"><br />    

2011-01-24 15:38:00 184

原创 访问或者添加request,application,,session等属性

<br />这里有三种方法:<br />1.直接在Action中的execute()方法中用ActionContext去获取<br /> eg:ActionContext ctx=ActionContext.getContext();<br />   ctx.getApplication().put("app", "app的范围");<br />   ctx.getSession().put("session", "session 的范围");<br />   ctx.put("request", "req

2011-01-24 15:07:00 116

原创 struts2中自定义类型转换

public class DateConvert extends DefaultTypeConvert{  SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd");   try{    if(toType==Date.class){//当字符串向Date类型转换时       String[] params=(String[])value;//Request.getParamterValues();;          return date

2011-01-24 10:54:00 156

原创 java如何去读写文件

一:文件读 private void read(String filePath)<br /> {<br /> StringBuffer sb=new StringBuffer();<br /> try{<br /> BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(filePath)));<br /> while((str=br.readLine())!=null

2011-01-19 18:01:00 134

原创 Java连接SQL Server 2000

数据库操作现在是项目开发的根本,学习Java首先应该学会怎么样连接数据库,用Java连接数据库可不像用Delphi这类工具那样设几个属性就OK,说简单也简单,说复杂,其实也挺复杂的,而且很麻烦,如果是初学,根本不能保证第一次就连接成功,下面以SQL Server 2000为例,说说Java连接数据库的基本方法,也记录一下心得。 1、下载SQL Server 2000 driver for JD

2009-12-28 09:30:00 849

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除