- 博客(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
313
原创 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
282
原创 树状结构设计
<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
315
原创 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
239
原创 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
295
原创 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
618
原创 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
438
原创 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
295
原创 创建第一个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
229
原创 注解和主键
<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
443
原创 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
199
原创 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
220
原创 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
252
原创 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
273
原创 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
790
原创 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
297
转载 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
1233
原创 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
216
原创 代码计数
<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
238
原创 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
228
原创 如何防止表单的重复提交
<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
200
原创 基于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
248
原创 对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
218
原创 自定义拦截器
<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
183
原创 属性的添加和文件上传
<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
283
原创 自定义类型转换器
<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
193
原创 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
511
原创 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
176
原创 小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
156
原创 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
289
原创 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
244
原创 总结
1.在JSP中静态包含include中包含页面与被包含页面为同一个request对象,不能传递参数2.动态包含两页面虽然不为同一个对象但是被包含页面的request对象能取到包含页面的参数,而且本身页面可以传递参数3.在 response.sendRedirect("*.jsp");%>想当于服务器向浏览器告知页面要转到*.jsp页面,这与在浏览器地址栏里敲入地址信息是等效的,*.jsp页
2010-05-28 21:47:00
170
原创 小总结
1.在JSP中静态包含include中包含页面与被包含页面为同一个request对象,不能传递参数2.动态包含两页面虽然不为同一个对象但是被包含页面的request对象能取到包含页面的参数,而且本身页面可以传递参数3.在 response.sendRedirect("*.jsp");%>想当于服务器向浏览器告知页面要转到*.jsp页面,这与在浏览器地址栏里敲入地址信息是等效的,*.jsp页
2010-05-26 18:39:00
169
原创 连接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
284
1
原创 环境配置
1.安装MyEclipse2.安装JDK3.安装Tomcat4.安装mysql_setup(注意字符编码为gb2312)5.安装navicat8_mysql_cs
2010-04-30 09:41:00
218
转载 jdk环境的搭建
1:XP下JDK环境变量的设置 第一步:右击“我的电脑”,点击“属性”。 第二步:选择“高级”选项卡,点击“环境变量”。 第三步:在“系统变量”中,设置3项属性,JAVA_HOME , path , classpath (大小写无所谓),若已存在则点击“编辑”,不存在则点击“新建”。 第四步:JAVA_HOME指明JDK安装路径,就是刚你自己电脑上JDK安装路径(例
2010-04-28 14:05:00
668
原创 坦克游戏
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
359
原创 坦克游戏
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
243
原创 坦克游戏
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
226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人