自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 Hibernate的二级缓存和事务

<br />1.二级缓存配置<br />a.在hibernate配置文件中打开二级缓存,并打开相应的二级缓存类<br />b.在src目录下配置二级缓存文件,并做相应的说明<br />c.在相应的实体类中注解@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)<br />说明此对象使用二级缓存,注意添加二级缓存jar包<br />2.load,iterator默认使用二级缓存<br />3.list默认往二级缓存加数据,但是查询的时候不使用<br />4.如果q

2010-12-10 22:50:00 270

原创 Hibernate性能优化

<br />1.性能优化<br />a. 注意session.clear()的运用,尤其在不断分页的时候<br />java在语法上不存在内存泄露,因为垃圾收集器会自动回收,但是当java用到外部资源的时候就说不定了,比如读取文件,连接池忘记关闭,这样垃圾收集器不能回收内存从而造成内存的泄露<br />b.1+n问题是指从一张表中读取数据时候,和它对应的所关联的表的数据也会取出来,解决问题有有<br />1.多这方设fetch=FetchType.LAZY,这样就不会马上取出所关联表数据,只有当需要的时候才

2010-12-10 22:49:00 241

原创 树状结构设计

<br />1.树状结构设计(很重要)<br />举个例子,一个大公司下面有若干分公司,分公司下又有若干分公司,这样在每一个公司实体类中我们可以利用树状结构解决问题<br />定义一个公司对象的引用指向父类公司,定义公司的集合Set指向子类公司,这样在同一个类中使用OneToMany和ManyToOne,例子代码如下<br />package com.fendou.hibernate.model;<br />import java.util.HashSet;<br />import java.util.Se

2010-12-10 22:48:00 266

原创 Hibernate中关联关系中的CRUD

<br />1.关联关系中的CRUD a.设定cascade可以设定在持久化时对于关联对象的操作 b.cascade仅仅是帮我们省了编程的麻烦而已,不要把它的作用看的太大,它的属性指明做什么操作的时候关联对象是绑在一起的 c.双向关系在程序中要设定双向关联,还要一方指定mappedBy d.fetch=FetchType.LAZY表明当加载一个对象时,会延迟其关联对象的加载,不管是load()还是get() fetch=FetchType.EAGER表明当加载一个对象时,会即时对其关联对象进行加载,即两种表

2010-12-10 22:47:00 196

原创 Hibernate中关联关系中的CRUD

<br />1.关联关系中的CRUD a.设定cascade可以设定在持久化时对于关联对象的操作 b.cascade仅仅是帮我们省了编程的麻烦而已,不要把它的作用看的太大,它的属性指明做什么操作的时候关联对象是绑在一起的 c.双向关系在程序中要设定双向关联,还要一方指定mappedBy d.fetch=FetchType.LAZY表明当加载一个对象时,会延迟其关联对象的加载,不管是load()还是get() fetch=FetchType.EAGER表明当加载一个对象时,会即时对其关联对象进行加载,即两种表

2010-12-10 22:46:00 245

原创 Hibernate中表与表之间的关联

<br />1.一对一外键双向映射<br />所谓外键可以通过某一个表中一个字段的属性去引用另外一个表<br />在两个实体类中都拥有各自类的引用,除开设置各自主键外,还要在类的属性引用中注解<br />@OneToOne<br />@JoinColumn(name="xxx")指定字段名称<br />当关系交给某一方主导时还要加注解<br />@OneToOne(mappedBy="主导类的属性值")<br /> <br />1.联合主键关联<br />a.当某一个表中有两个字段要与另一个表中的两个联合主

2010-12-10 22:45:00 567

原创 Hibernate中session的主要方法

<br />1.Session 管理一个数据库的任务单元<br />a.方法(CRUD)<br />1>save()<br />2>delete()<br />3>load()<br />4>get()<br />5>update()<br />get与load的区别<br />a.不存在对应记录时表现不一样<br />b.load返回的是代理对象,等到真正用到对象的内容时才发出sql语句<br />c.get直接从数据库加载,不会延迟<br />2.update<br />a.用来更新detached对象

2010-12-10 22:43:00 395

原创 Hibernate接口的认识和对象的几种状态

<br />1.Configuration<br />a.AnnotationConfiguration<br />b.进行配置信息的管理<br />c.用来产生SessionFactory<br />d.可以在configure方法中指定hibernate配置文件<br />2.SessionFactory<br />a.用来产生和管理Session<br />b.通常情况下每个应用只需一个SessionFactory,除非要访问多个数据库<br />c.openSession是指每次都产生一个Sessi

2010-12-10 22:42:00 254

原创 创建第一个Hibernate程序

<br />1.创建第一个Hibernate程序<br />a.新建一个java project,写好相应的实体类和测试类,并配置好相应的映射文件<br />b. 配置好hibernate.cfg.xml文件,并引入相应实体类的映射文件<br />c.用Configuration接口启动Hibernate,创建SessionFactory对象,然后SessionFactory<br />接口负责初始化Hibernate,并负责创建Session对象,这里的Session功能相当于<br />JDBC里面的一

2010-12-10 22:39:00 191

原创 注解和主键

<br />1.使用注解的方式对数据进行插入<br />a.引入所需的jar包<br />b.在实体类中使用@Entity标明此类为实体类,并用@Id在为键值的属性的getXX()<br />上标明,并在hibernate配置文件中添加映射,格式如下<br /><mapping class="xxx.xxx.xxx.实体类名"/><br />c.注意在启动Hibernate的时候,要用AnnotationConfiguration<br /> <br />1.联合主键<br />a.当一个实体类中要有2个或

2010-12-10 22:39:00 397

原创 Hibernate的认识

<br />1.什么是Hibernate<br />Hibernate是一个开发源代码的对象关系映射框架,它对JDBC进行了非常轻量级的<br />对象封装,使得java程序员可以随心所欲的使用对象编程思维来操控数据库。<br />Hibernate可以使用在任何使用JDBC的场合,既可以在java的客户端使用,也可以<br />在Servlet/jsp的Web应用中使用,最具意义的是它可以完成数据持久化的重任<br />Hibernate的核心接口一共有5个,分别为:Session、SessionFact

2010-12-10 22:36:00 165

原创 JSTL配置

<br />1.引入jstl.jar和standard.jar,并在WEB-INF下添加一个文件c.tld<br />2.在web.xml中加入jstl配置<br /> <jsp-config> <br />   <taglib> <br />    <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> <br />    <taglib-location>/WEB-INF/c.tld</taglib-location> <br />   </

2010-12-04 09:21:00 182

原创 Struts2_Spring_Hibernate整合代码

<br />1.控制端<br />package com.struts2.action;import com.struts2.model.User;import com.struts2.service.LoginService;public class LoginAction { private LoginService loginService; private String userName; private String passWord; public St

2010-11-26 12:28:00 209

原创 Struts2_Spring_Hibernate整合

1.引入需要的jar包,将对应的配置文件配好在src目录下配置struts.xml文件    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd">

2010-11-26 12:21:00 230

原创 Spring和Struts2集成

spring+struts的集成原理:将业务逻辑对象通过spring注入到Action中,从而避免了在Action类中的直接代码查询1、spring和struts依赖库配置 * 配置struts  --拷贝struts类库和jstl类库  --修改web.xml文件来配置ActionServlet  --提供struts-config.xml文件  --提供国际化资源文件 * 配置spring  --拷贝spring类库  --提供spring配置文件 2、因为Action需要调用业务逻辑方法,所以需要在A

2010-11-21 22:18:00 734

原创 Spring和Hibernate的集成

<br />Hibernate与Spring的集成<br />1.利用Spring的IOC特性生成SessionFactory,对象的实例化都交给Spring来管理<br />而且利用Spring的AOP特性来对事务进行管理<br />2.业务逻辑类是通过继承HibernateDaoSupport类并调用this.getHibernateTemplate().save(user);来得到一个session连接并将对象存入数据库<br />在Spring配置文件中将hibernate配置文件加载进来,例子如下

2010-11-21 18:38:00 255

转载 myeclipse整合jdk和tomcat

1. 安装配置JDK        为了管理方便,此处安装jdk1.6.0_10到C:/Program Files/Java文件夹下,下面进行环境变量的配置。        右键我的电脑—属性—高级—环境变量:        (1) 首先,为了指定命令搜索路径,在系统变量的PATH变量中增加C:/Program Files/Java/jdk1.6.0_10/bin;。由于PATH变量中原本含有许多项,所以只需在最前面添加上述路径即可,注意末尾用分号隔开。        (2) 然后,为了指定类搜索路径,在系

2010-08-29 19:15:00 1181

原创 EmailRobert

<br />import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.regex.Matcher;import java.util.regex.Pattern;public class EmailSpider { public static void

2010-08-23 10:51:00 165

原创 代码计数

<br />import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class CodeCount { public static long normalLines; //统计正常行 public static long comment

2010-08-22 00:07:00 191

原创 OGNL表达式

<br />1.ognl表达式为对象图导航语言,相对于EL表达式,它提供了平时我们需要的一些功能,如<br />a.支持对象方法调用,如xxx.方法名<br />b.支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名|值名]<br />c.操作集合对象<br />ognl有一个上下文概念,其实就是一个MAP结构,在Struts2中上下文的实现为ActionContext,结构如下<br />OGNL Context{ValueStack,parameters,request,se

2010-08-17 00:34:00 180

原创 如何防止表单的重复提交

<br />1.怎么防止表单重复提交<br />a.首先在表单中加入<s:token/><br />b.    <interceptor-ref name="defaultStack"/><br />    <interceptor-ref name="token"/><br />    <result name="invalid.token">/index.jsp</result><br />加入token拦截器和invalid.token结果,因为token的拦截器在会话的token与请求的token不

2010-08-17 00:34:00 167

原创 基于XML方式进行校验

<br />1.基于XML配置方式实现对action的所有方法进行输入校验<br />使用基于XML配置方式进行输入校验时,Action也需继承ActionSupport,并且提供校验文件,校验文件和action类放在同一个包下,文件的取名格式为:ActionClassName-validation.xml,其中ActionClassName为action的简单类名,下面是校验文件的模板<br /><?xml version="1.0" encoding="UTF-8"?><br /><!DOCTYPE v

2010-08-17 00:31:00 195

原创 对action的方法进行校验

<br />1.对Action中所有方法进行输入校验<br />举个例子对用户名和手机号码进行输入校验<br />a.<%@ taglib uri="/struts-tags" prefix="s" %> <br /><s:fielderror/> //显示错误信息<br />    <form action="${pageContext.request.contextPath}/命名空间/action名称_需校验的方<br />法.action" method="post"><br />     姓名:<

2010-08-17 00:30:00 181

原创 自定义拦截器

<br />1.自定义拦截器<br />a.举个例子,如果要先登录后才能请求action响应,定义一个拦截器类并实现Interceptor接口,并在其方法interceptor中作相应处理<br />b.在struts.xml文件中为拦截器注册,又因为在某一action中使用自定义的拦截器,则struts2默认的拦截器会失去作用,要以下注册<br />  <interceptors><br />   <interceptor name="自定义拦截器名" class="拦截器类全名"></intercept

2010-08-17 00:28:00 141

原创 属性的添加和文件上传

<br />1.访问或添加几个属性<br />如果仅仅是访问和添加几个属性用以下方法<br />  ActionContext ctx = ActionContext.getContext();<br />  ctx.getApplication().put("app", "application范围");<br />  ctx.getSession().put("ses","session范围");<br />  ctx.put("req", "request范围");<br />2.如果要得到属性对象,

2010-08-17 00:26:00 245

原创 自定义类型转换器

<br />1.自定义类型转换器<br />转换器分为局部类型转换器和全局类型转换器,局部转换器只对某一action起转换作用<br />那么怎么实现转换器呢,如下一局部类型转换器例子是将字符串转换为Date数据类型<br />2.新建一个转换器类并继承DefaultTypeConverter然后重写方法<br />public Object convertValue(Map<String, Object> context, Object value, Class toType) {<br />  Simp

2010-08-17 00:24:00 156

原创 action的响应和参数的传递

<br />a.1.当一个action响应的时候,服务器会定向到与之相对应的视图,但是当要定向到另外一个action的视图的时候,需将视图名称改为另外一个action的name就好,如果要定向的另外一个action不在同一个包内需做处理<br />          <result type="xxx"><br />           <param name="actionName">xxx</param><br />           <param name="namespace">/xxx</par

2010-08-17 00:22:00 473

原创 struts2的搭建及相关问题

<br />a.1.新建一个Web工程,在WEB-INF目录下的lib文件夹中引入至少需要的6个jar文件<br />2.在src目录下新建一个struts.xml配置文件,并加入配置信息<br />3.修改web.xml文件,struts2是用Filter启动<br />b.1.struts2浏览器访问是 /项目名/名字命名空间(namespace)/action name<br />2.即使一个包下面没有action它也会去访问默认命名空间下的action(namespace=""),如果还是找不到页面

2010-08-17 00:19:00 142

原创 小JSP程序

HelloBean<%--<%kg.TestBean2 testbean=(kg.TestBean2)session.setAttribute("testbean");if(testbean==null){ testbean = new kg.TestBean2(); session.setAttribute("testbean",tes

2010-05-28 21:58:00 127

原创 JSP文件

HelloBean<%--<%kg.TestBean2 testbean=(kg.TestBean2)session.setAttribute("testbean");if(testbean==null){ testbean = new kg.TestBean2(); session.setAttribute("testbean",tes

2010-05-28 21:53:00 237

原创 JSP文件

HelloBean<%--<%kg.TestBean2 testbean=(kg.TestBean2)session.setAttribute("testbean");if(testbean==null){ testbean = new kg.TestBean2(); session.setAttribute("testbean",tes

2010-05-28 21:51:00 208

原创 总结

1.在JSP中静态包含include中包含页面与被包含页面为同一个request对象,不能传递参数2.动态包含两页面虽然不为同一个对象但是被包含页面的request对象能取到包含页面的参数,而且本身页面可以传递参数3.在 response.sendRedirect("*.jsp");%>想当于服务器向浏览器告知页面要转到*.jsp页面,这与在浏览器地址栏里敲入地址信息是等效的,*.jsp页

2010-05-28 21:47:00 132

原创 小总结

1.在JSP中静态包含include中包含页面与被包含页面为同一个request对象,不能传递参数2.动态包含两页面虽然不为同一个对象但是被包含页面的request对象能取到包含页面的参数,而且本身页面可以传递参数3.在 response.sendRedirect("*.jsp");%>想当于服务器向浏览器告知页面要转到*.jsp页面,这与在浏览器地址栏里敲入地址信息是等效的,*.jsp页

2010-05-26 18:39:00 128

原创 连接Mysql数据库小常识

1.加载mysql驱动包Properties->java Build Path->Libraries->Add External JARs...2.Class.forName("com.mysql.jdbc.Driver");conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名?user=root&password

2010-05-06 22:09:00 229 1

原创 环境配置

1.安装MyEclipse2.安装JDK3.安装Tomcat4.安装mysql_setup(注意字符编码为gb2312)5.安装navicat8_mysql_cs

2010-04-30 09:41:00 170

转载 jdk环境的搭建

1:XP下JDK环境变量的设置    第一步:右击“我的电脑”,点击“属性”。    第二步:选择“高级”选项卡,点击“环境变量”。    第三步:在“系统变量”中,设置3项属性,JAVA_HOME , path , classpath (大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”。        第四步:JAVA_HOME指明JDK安装路径,就是刚你自己电脑上JDK安装路径(例

2010-04-28 14:05:00 612

原创 小例子

第一个表单 用户名: 密码: 性别: 男女 兴趣爱好: 足球篮球排球游泳 学历: ...

2010-04-28 13:42:00 183

原创 坦克游戏

package com.bjsxt.tank;import java.awt.*;public class Wall { int x, y, w, h; TankClient tc; public Wall(int x, int y, int w, int h, TankClient tc) { super(); this.x = x; this

2010-04-24 22:12:00 319

原创 坦克游戏

package com.bjsxt.tank;import java.awt.*;public class Blood { int x, y, w, h; int step = 0; TankClient tc; private boolean live = true; public Blood() { x = pos[0][0]; y = pos[0

2010-04-24 22:11:00 204

原创 坦克游戏

package com.bjsxt.tank;import java.awt.Color;import java.awt.Graphics;public class Explode { int x, y; boolean live = true; int[] diameter = {4, 7, 12, 18, 32, 45, 16, 5}; int ste

2010-04-24 22:10:00 185

空空如也

空空如也

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

TA关注的人

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