摘要:进入:http://www.hibernate.org/说明文档:英文:http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/中文:http://docs.jboss.org/hibernate/annotations/3.4/reference/zh_cn/html_single/下载:hibernate annotation 3.4.0 GA得到:hibernate-annotations.jar hibernate-commons-annotation.jar ejb3-persisten...
阅读全文
04 2012 档案
摘要:一、环境搭建和基本映射1) 添加Annotation包: hibernate-annotations.jar,ejb3-persistence.jar,hibernate-commons-annotations.jar2) 在实体类中尽量使用JPA的标准注解来进行对象关系映射。注解可以添加在属性上,也可以添加在getXxx()方法之上。 a) @Entity 映射一个实体类 @Table(name="表名") 指定关联的表 b) @Id 映射OID c) @GeneratedValue(strategy=生成策略) 指定OID的生成策略。 它的默认值是GenerationT
阅读全文
摘要:这里记录hibernate中组合主键的annotation方式。hibernate-annotations说明文档中有说到组合主键使用annotation的方式实现,如下几种下面是定义组合主键的几种语法:1. 将组件类注解为@Embeddable,并将组件的属性注解为@Id2. 将组件的属性注解为@EmbeddedId3. 将类注解为@IdClass,并将该实体中所有属于主键的属性都注解为@Id第一种方式实例:1.主键类,如下package com.seed.lee.model;import javax.persistence.Column;import javax.persistence.E
阅读全文
摘要:Hibernate是一种强大的可提供对象-关系持久化和查询服务的中间件,它可以使程序员依据面向对象的原理开发持久化类,实现对象之间的关联、继承、多态、组合、集合等。Hibernate提供了它特有的数据库查询语言HQL,这种查询语言屏蔽了不同数据库之间的差别,使你可以编写统一的查询语句执行查询。不同于其他持久化解决方案的是Hibernate并没有把SQL的强大功能屏蔽掉,而是仍然兼容SQL,这使你以往的关系技术依然有效。一、Hibernate的版本更新情况Hibernate版本更新速度很快,目前为止有两个阶段性的版本:Hibernate2和Hibernate3,这一点程序员从其Jar文件名便可以
阅读全文
摘要:This note demonstrates how to create and deploy an MDP, and how to control it, using both Spring’s inbuilt component management mechanisms, and JMX.ScenarioWe have a number of JMS listeners in our application. Having ported our hardware to a grid of virtual machines, we want the feature to switch-on
阅读全文
摘要:Spring 3.1 M1 is out with some veryuseful features. One of the coolest feature in the latest release is comprehensive Caching support!Spring Framework provides support for transparently adding caching into an existing Spring application. Similar to the transaction support, the caching abstraction al
阅读全文
摘要:从 iBatis 到 MyBatis,你准备好了吗?对于从事 Java EE 的开发人员来说,iBatis 是一个再熟悉不过的持久层框架了,在 Hibernate、JPA 这样的一站式对象 / 关系映射(O/R Mapping)解决方案盛行之前,iBaits 基本是持久层框架的不二选择。即使在持久层框架层出不穷的今天,iBatis 凭借着易学易用、轻巧灵活等特点,也仍然拥有一席之地。尤其对于擅长 SQL 的开发人员来说,iBatis 对 SQL 和存储过程的直接支持能够让他们在获得 iBatis 封装优势的同时而不丧失 SQL 调优的手段,这是 Hibernate/JPA 所无法比拟的。具体而
阅读全文
摘要:Let us make a complete end-to-end application using Spring 3.0 MVC as front end technology and Hibernate as backend ORM technology. For this application we will also use Maven for build and dependency management and MySQL as database to persist the data.The application will be a simple Contact Manag
阅读全文
摘要:这是我一些常用的开发工具,主要用来做web开发,绝大部分都是开源的,这里做出一个列表并给出评论和网址,以后逐步充实完善本人Java初学者,水平实在有限,如有错误之处,请来信告知,感激不尽JDK说明:Java软件开发工具箱网址:http://java.sun.com相关资源推荐:必备Eclipse说明:目前最为流行的跨平台JAVA集成开发环境,扩展性极高,很多插件可用完全用Java开发,无需安装,方便平台的迁移我目前用的Eclipse已经维护了两年多,其间重装系统无数次,Eclipse的个人配置和插件却无需重装,非常方便网址:http://www.eclipse.org相关资源推荐:吐血推荐,都
阅读全文
摘要:SpringMVC与Hibernate整合配置Spring3.0Hibernate3.0web.xml<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://j
阅读全文
摘要:This tutorial explains how to use annotations with spring 3 MVC and hibernate 3 based application to make the development easier and faster than ever before.ArticleService.javaThis is the interface which declares methods which will be used in controller class.packagenet.roseindia.service;importjava.
阅读全文
摘要:This tutorial explains how to use annotations with spring 3 MVC and hibernate 3 based application to make the development easier and faster than ever before.dispatcher-servlet.xml:<context:property-placeholder>element specifies the location where to find the properties file. In our case it is
阅读全文
摘要:This tutorial explains how to use annotations with spring 3 MVC and hibernate 3 based application to make the development easier and faster than ever before.Spring 3 MVC and Hibernate 3 Example application using AnnotationsThis tutorial explains how to use annotations with spring 3 MVC and hibernate
阅读全文
摘要:Java代码@InitBinderpublicvoidinitBinder(WebDataBinderbinder){SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd");dateFormat.setLenient(false);binder.registerCustomEditor(Date.class,newCustomDateEditor(dateFormat,true));binder.registerCustomEditor(SystemInfo.class,newPropertyEditorSu
阅读全文
摘要:Customizing WebDataBinder initializationTo customize request parameter binding with PropertyEditors, etc. via Spring's WebDataBinder, you can either use @InitBinder-annotated methods within your controller or externalize your configuration by providing a custom WebBindingInitializer.Customizing
阅读全文
摘要:弃用了struts2,用spring mvc框架做了几个项目,感觉都不错,而且使用了注解方式,可以省掉一大堆配置文件。本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。web.xml配置:<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2
阅读全文
摘要:Introduce Null Object(引入Null对象)你需要再三检查某对象是否为null。将null值替换为null对象。if(customer==null)plan=BillingPlan.basic(); elseplan=customer.getPlan();动机多态的最根本好处在于:你不必再向对象询问"你是什么类型"而后根据得到的答案调用对象的某个行为--你只管调用该行为就是了,其他的一切多态机制会为你安排妥当。当某个字段内容是null 时,多态可扮演另一个较不直观(亦较不为人所知)的用途。让我们先听听Ron Jeffries的故事。--Ron Jeffri
阅读全文
摘要:贝叶斯在在反垃圾邮件的产品中应用很多,也是当前最好的反垃圾邮件算法,著名的卡巴斯基病毒库代码就是采用贝叶斯过滤算法,在目前的邮件系统中采用贝叶斯过滤算法的唯有GCMAil邮件服务器。下面我就对贝叶斯反垃圾邮件技术简单的介绍一、 贝叶斯反垃圾邮件技术介绍 贝叶斯是基于概率的一种算法,是Thomas Bayes:一位伟大的数学大师所创建的,目前此种算法用于过滤垃圾邮件得到了广泛地好评。贝叶斯过滤器是基于“自我学习”的智能技术,能够使自己适应垃圾邮件制造者的新把戏,同时为合法电子邮件提供保护。在智能邮件过滤技术中,贝叶斯(Bayesian)过滤技术取得了较大的成功,被越来越多地应用在反垃圾邮件的产.
阅读全文
摘要:Java将数据于目的地及来源之间的流动抽象化为一个流(Stream),而流当中流动的则是位数据。14.2.1 InputStream和OutputStream计算机中实际上数据的流动是通过电路,而上面流动的则是电流,电流的电位有低位与高位,即数字的0与1位。从程序的观点来说,通常会将数据目的地(例如内存)与来源(例如文件)之间的数据流动抽象化为一个流(Stream),而其中流动的则是位数据,如图14-1所示。图14-1 数据的流动抽象化为流的概念在Java SE中有两个类用来作流的抽象表示:java.io.InputStream与java.io.OutputStream。InputStream
阅读全文
摘要:内容介绍:本书于2004年3月18日获得2003年度Jolt效能大奖\r\n本书主要介绍了软件开发的原则和方法。本书直指编程前沿,透过日益增长的现代软件开发规范和技术,对软件开发的核心过程进行了审视——以满足用户为本,针对用户需求来产出高效、可维护的优秀代码。全书涵盖内容广博,从个人责任和职业发展,到保持代码灵活性并使之易于改动和重用,多而不杂。本书采用了有趣的轶事、详实的例子以及诙谐的对话等方式,描述了软件开发方方面面的最佳实践方案和各种缺陷...第1章注重实效的哲学A Pragmatic Philosophy·1我的源码让猫给吃了·2软件的熵·3石头汤与煮青蛙
阅读全文
摘要:一、字段配置(schema)schema.xml位于solr/conf/目录下,类似于数据表配置文件,定义了加入索引的数据的数据类型,主要包括type、fields和其他的一些缺省设置。1、先来看下type节点,这里面定义FieldType子节点,包括name,class,positionIncrementGap等一些参数。name:就是这个FieldType的名称。class:指向org.apache.solr.analysis包里面对应的class名称,用来定义这个类型的行为。<schemaname="example"version="1.2"
阅读全文
摘要:现在我们开始研究载入的数据部分(importing data)在正式开始前,我们先介绍一个存储了大量音乐媒体的网站http://musicbrainz.org/,这里的数据都是免费的,一个大型开放社区提供。MusicBrainz每天都提供一个数据快照(snapshot)的SQL文件,这些数据可以被导入PostgreSQL数据库中。一、字段配置(schema)schema.xml位于solr/conf/目录下,类似于数据表配置文件,定义了加入索引的数据的数据类型,主要包括type、fields和其他的一些缺省设置。1、先来看下type节点,这里面定义FieldType子节点,包括name,cla
阅读全文
摘要:前言从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生。 作者:丁令(http:///www.DingL.com/)JSTL简介JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。JSTL目前的最新版本为1.02,最终发布版为1.0。JSTL包...
阅读全文
摘要:Tomcat内存溢出的原因 在生产环境中tomcat内存设置不好很容易出现内存溢出。造成内存原因是不一样的,当然处理方式也不一样。 这里根据平时遇到的情况和相关资料进行一个总结。常见的一般会有下面三种情况: 1.OutOfMemoryError: Java heap space 2.OutOfMemoryError: PermGen space 3.OutOfMemoryError: unable to create new native thread. Tomcat内存溢出解决方案 对于前两种情况,在应用本身没有内存泄露的情况下可以用设置tomcat jvm参数来解决。(-Xms -Xmx
阅读全文
摘要:最近在熟悉一个开发了有几年的项目,需要把数据库从mysql移植到oracle,首先把jdbc的连接指向mysql,打包放到tomcat里面,可以跑起来,没有问题,可是当把jdbc连接指向oracle的时候,tomcat就连续抛java.lang.OutOfMemoryError的错误,上网google了一下,了解了一下tomcat的运行机制,也解决了问题,share出来,以备查。 1、首先是:java.lang.OutOfMemoryError: Java heap space 解释: Heap size 设置 JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM
阅读全文
摘要:Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of PermGen (Non-heap memory) space remains. It is strongly recommendedthat you exit and restart MyEclipse with new virtual machine memoryparamters to increase this memory. Failure to do so can result indata loss. The recommended Ecl
阅读全文
摘要:今番又遇到乱码问题,有时候真觉得英语母语的那些地区确实挺省事的,至少不用为了这个经典麻烦去折腾。网络上讨论乱码问题的文章很多,因为各作者使用的计算机环境的不同,往往不是很全面。这里非常推荐的一篇文章:http://dohkoos.name/java-garbled-analysis.html简而言之,乱码的“根本原因是由于编码和解码采用的不是同一种码”。例如作者所举的例子,使用GBK编码为UTF-8,使用ISO-8859从UTF-8解码,可能会导致乱码问题。这就好比有一篇中文文章想给王五看,不过这篇文章先由张三翻译成为了英文,然后再由李四翻译成俄文(而不是翻译回中文),但是王五只看得懂中文,于
阅读全文
摘要:HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率惊人常见的压缩方式:程序实现,在服务器端实现,今天要说的是如何在服务器端实现。一,对于Tomcat5.0以后的版本是支持对输出内容进行压缩的. 使用的是gzip压缩格式下面是tomcat5.5.20 中
阅读全文
摘要:有些开发者因为曾有性能上的不快经验而拒绝采用对象关系映射(ORM)技术。和任何形式的抽象一样,使用ORM框架要以一些额外开销作为代价,但事实上,使用经过恰当调优的ORM和手写原生的数据访问代码在性能上还是有得一拼的。更为重要的是,使用好的ORM框架更容易调优和优化性能,手写原生数据访问代码在性能调优上则会困难得多。本文中的示例建立在Mindscape的LightSpeed ORM之上,我们将结合示例讨论常见的问题及其解决方案。N+1问题让我们来看看web应用程序中的过期订单列表,这有助于我们理解所要讨论的问题。假设我们不仅要查看订单,同时还要查看每个订单的客户信息,如果没做深入分析的话,我们也
阅读全文
摘要:不做web开发多年了, 可偶尔去面试的时候, 还是会问道Struts实现mvc的细节。 很多东西都模糊了。 在网上找了下, 觉得这篇不错, 记下来防止以后用的着。 ‘ 分布式企业应用软件结构复杂、涉及多种技术,对设计开发人员提出了很高的要求。在此情况下,运用设计模式――可复用的设计方案进行软件的设计开发十分必要。MVC模式已被证明是一种成功的软件设计模式,本文主要讨论了一种实现MVC模式的应用框架――Struts,并通过一个实例展示了Struts框架实现MVC模式的方法。MVC设计模式 MVC(Modle-View-Controller,模型-视图-控制器)模式是Xerox PARC在20世纪
阅读全文
摘要:Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动。我选了一些比较常用的项目做简单介绍。文中用了很多网上现成的东西,我只是做了一个汇总整理。Commons BeanUtilshttp://jakarta.apache.org/commons/beanutils/index.html说明:针对Bean的一个工具集。由于Bean往往是有一堆get和set组成,所以BeanUtils也是在此基础上进行一些包装。使用示例:功能有很多,网站上有详细介绍。一个比较常用的功能是Bean Copy,也就是copy bean的属性。如果做分层架构开发的话就会用到,比
阅读全文
摘要:1.java集合框架(Java Colletion Framework):可以理解为用来在内存中存放一组对象的某种容器,就像之前的数组和自定义队列。2.java中的集合框架是线性的数据结构,但是这些线性的数据结构分为两类:物理线性,逻辑线性。3.java集合类主要在java.util.*包下,主要有一下几类: 1.List:有序的集合类(某种特定的顺序) 2.Set:是无序并且不重复数据的集合类 3.Map:键值对的集合类例如:学号--->学生 身份证号---->人 4.Queue4.List、Set和Map都是接口(Interface),不是具体的类实现。List lst = n
阅读全文
摘要:StringUtils方法的操作对象是java.lang.String类型的对象,是对JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。除了构造器,StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx()下面分别对一些常用方法做简要介绍:1.public static boolean isEmpty(String str) 判断某字符串是否
阅读全文
摘要:摘要每个web应用开发者一定组织视图组件,例如页首,正文体和页尾。有许多技术可以组织这些组件,但每个都有优缺点。这篇文章包括了7个可用的解决方案并让你了解Tiles框架和Struts框架的灵活性。从一个简单的说明组织视图组件的例子开始,然后使用JSP内建的机制,像include,彻底地解决问题。继续看其他的使用Tiles框架的替换方案,然后学会平衡Tiles框架和Struts框架的协作。(2,000个字;2002年1月4日)在Web应用软件开发中,一般用户界面负责站点的外观感觉,它可以让人产生真切的感受。通过界面的展现,来展示应用程序功能和导航。基于Servlet和JSP技术实现用户界面时,当
阅读全文
摘要:转载出处:http://fuliang.iteye.com/blog/947191Spring MVC的确很强大,在每一个你想的到和想不到的地方都会留下钩子,来插入自定义的实现,透明替换默认实现,拦截器堆栈结构设计的非常强大,多种试图的解析,url mapping的多种实现,Locale resolver、Theme resolver、multipart file resolver,Excepiton hanlder Resolver等等,能让Spring MVC从1.0到3.0经历巨大变化,仍能向后兼容,并支持很酷的RESTful风格和强大的简化xml配置的注解。这些功能我们在项目中经常用到
阅读全文
摘要:无论做什么项目,进行异常处理都是非常有必要的,而且你不能把一些只有程序员才能看懂的错误代码抛给用户去看,所以这时候进行统一的异常处理,展现一个比较友好的错误页面就显得很有必要了。跟其他MVC框架一样,springMVC也有自己的异常处理机制。springMVC提供的异常处理主要有两种方式,一种是直接实现自己的HandlerExceptionResolver,另一种是使用注解的方式实现一个专门用于处理异常的Controller——ExceptionHandler。1、实现自己的HandlerExceptionResolver,HandlerExceptionResolver是一个接口,sprin
阅读全文
摘要:项目配置中加了 mvc:resources后 如下:Java代码<mvc:annotation-driven/><mvc:resourcesmapping="/webeditor/**"location="/webeditor/"/>@ResponseBody的ajax请求出现中文乱码解决的方式如下Java代码<!--<mvc:annotation-driven/><mvc:resourcesmapping="/webeditor/**"location="/webeditor
阅读全文
摘要:我们已经知道了ViewResolver的主要职责是,根据Controller所返回的ModelAndView中的逻辑视图名,为DispatcherServlet返回一个可用的View实例。现在是揭开ViewResolver如何“尽职”的时候了。有ViewResolver的职责为前提,理解甚至于自己声明一个ViewResolver接口变得不再困难。实际上ViewResolver接口定义确实很简单,如下所示:public interface ViewResolver { View resolveViewName(String viewName, Locale locale) throws Exce
阅读全文