摘要: 在应用程序中,用来实现业务问题实体的(如,在电子商务应用程序中的Customer和Order) 类就是持久化类。不能认为所有的持久化类的实例都是持久的状态——一个实例的状态也可能 是瞬时的或脱管的。如果这些持久化类遵循一些简单的规则,Hibernate能够工作得最好,这些规则被称作, 简单传统Java对象(POJO:Plain Old Java Object)编程模型。但是这些规则没有一个是必需的。 实际上,Hibernate3对于你的持久化类几乎不做任何设想。你可以用其他的方法来表达领域模型: 比如,使用Map实例的树型结构。5.1.一个简单的POJO例子大多数Java程序需要用一个持久化类 阅读全文
posted @ 2013-06-08 22:15 廖世勇 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 由于Hibernate是为了能在各种不同环境下工作而设计的, 因此存在着大量的配置参数. 幸运的是多数配置参数都 有比较直观的默认值, 并有随Hibernate一同分发的配置样例hibernate.properties (位于etc/)来展示各种配置选项. 所需做的仅仅是将这个样例文件复制到类路径 (classpath)下做一些自定义的修改.4.1.可编程的配置方式 一个org.hibernate.cfg.Configuration实例代表了一个应用程序中Java类型 到SQL数据库映射的完整集合. Configuration被用来构建一个(不可变的 (immutable))SessionFa 阅读全文
posted @ 2013-06-08 22:14 廖世勇 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 3.1.概况(Overview)一个非常简要的Hibernate体系结构的概要图: 从这个图可以看出,Hibernater使用数据库和配置信息来为应用程序提供持久化服务(以及持久的对象)。 我们来更详细地看一下Hibernate运行时体系结构。由于Hibernate非常灵活,且支持数种应用方案,所以我们这只描述一下两种极端的情况。“轻型”的体系结构方案,要求应用程序提供自己的JDBC 连接并管理自己的事务。这种方案使用了Hibernate API的最小子集:“全面解决”的体系结构方案,将应用层从底层的JDBC/JTA API中抽象出来,而让Hibernate来处理这些细节。图中各个对象的定义如 阅读全文
posted @ 2013-06-08 22:14 廖世勇 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 2.1. 前言 本章是面向Hibernate初学者的一个介绍教程。我们将使用容易理解的方式,开发一个使用驻留内存式(in-memory)数据库的简单命令行程序。本教程是面向Hibernate初学者,但是需要一定的Java和SQL知识。 它在Michael Goegl所写的一个教程的基础上完成的。我们使用的第三方库文件是支持JDK 1.4和5.0。如果你要使用JDK1.3,可能会需要其它的库。2.2.第一部分 - 第一个Hibernate程序首先我们将创建一个简单的控制台(console-based)Hibernate程序。我们使用内置数据库(in-memorydatabase) (HSQL D 阅读全文
posted @ 2013-06-08 22:13 廖世勇 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1.1.开始Hibernate之旅这份教程描述如何在Apache Tomcat servlet容器中为web应用程序配置Hibernate 3.0(我们使用Tomcat 4.1版本,与5.0版本差别很小)。Hibernate在大多数主流J2EE应用服务器 的运行环境中都可以工作良好,甚至也可以在独立Java应用程序中使用。在本教程中使用的示例数据库系统是PostgreSQL 7.4,只需要修改Hibernate SQL语言配置与连接属性,就可以很容易的支持其他数据库了。第一步,我们必须拷贝所有需要的库文件到Tomcat安装目录中。在这篇教程中,我们使用一个独立的web Context配置(we 阅读全文
posted @ 2013-06-08 22:08 廖世勇 阅读(150) 评论(0) 推荐(0) 编辑
摘要: oracleClass.forName("oracle.jdbc.driver.OracleDriver").newInstance();Stringurl="jdbc:oracle:thin:@localhost:1521:orcl"; String user="scott";String password="tiger";Connection conn=DriverManager.getConnection(url,user,password); Statementstmt=conn.createStateme 阅读全文
posted @ 2013-06-08 22:07 廖世勇 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 全面解析JDBC 综述:Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。 如何选择合适的JDBC产品? 有关JDBC最新的信息,有兴趣的读者可以查阅JDBC的官方网站--即JavaSoft的主页,其URL为:htt... 阅读全文
posted @ 2013-06-08 22:06 廖世勇 阅读(271) 评论(0) 推荐(0) 编辑
摘要: Hibernate3支持DetachedCriteria,这是一个非常有意义的特性!我们知道,在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询。 针对这种需求,对于分层应用程序来说,Web层需要传递一个查询的条件列表给业务层对象,业务层对象获得这个条件列表之后,然后依次取出条件,构造查询语句。这里的一个难点是条件列表用什么来构造?传统上使用Map,但是这种方式缺陷很大,Map可以传递的信息非常有限,只能传递name和value,无法传递究竟要做怎样的条件运算,究竟是大于,小于,like,还是其它的什么,业务... 阅读全文
posted @ 2013-06-08 22:03 廖世勇 阅读(136) 评论(0) 推荐(0) 编辑
摘要: DetachedCriteria使用Criteria可以很好地使用实现动态查询,但是Criteria与Session绑定,其生命周期跟随着Session的结束而结束,使用Criteria进行查询时,每次都要在执行时期动态建立对象,并回味入各种查询条件,跟着Session的回收,Criteria也跟着回收.当然在WEB层也可以打开Session建立Criteia,但是这不符合分层要求,层之间耦合太严重.DetachedCriteria可以解决这个问题,即在WEB层,程序员要以使用DetachedCriteria来构造查询条件,然后将这个DetachedCriteria作为方法调用参数传递给业务层 阅读全文
posted @ 2013-06-08 22:02 廖世勇 阅读(385) 评论(0) 推荐(0) 编辑
摘要: Dao层通用化,Spring3.0+Hibernate3.3.2通用Dao层整合数据Dao层大家也写了很多了,只要是每对应一个表的话就会有对应的一个类进行增删查改(没算中间表),如果按照面向对象的思维来讲,中间表也算一个表也应该有对应的Dao层操作.Dao层操作其实无非就是数据库中的表进行增删改查这几个功能,如果可以把所有增删查改方法统一做成一个通用的增删改查方法多好啊.想起之前写过通用JDBC增删改查功能法,既然JDBC可以那换成框架组合也一定可以,利用JDK5.0的新特性泛型,可以很好的帮助我把目前主流的2大框架Spring和Hibernate很好的整合起来,方便以后我们操作.框架采用目前 阅读全文
posted @ 2013-06-08 22:01 廖世勇 阅读(435) 评论(0) 推荐(0) 编辑
摘要: package aaa;/* AWT Sample application "记事本应用程序java源代码" * @author Amiry * @version 1.00 07/05/25 */ import java.awt.*; //导入抽象窗口工具集包(abstract window toolkit) import java.awt.event.*; //导入窗口事件工具包 import java.io.*; //导入输入输出工具包 import java.awt.datatransfer.*; //导入数据转化工具包 //菜单工具条类(添加菜单项,子菜单) cla 阅读全文
posted @ 2013-06-08 22:01 廖世勇 阅读(472) 评论(0) 推荐(0) 编辑
摘要: import java.awt.*;//AWT核心包import java.awt.event.*;//提供事件类和监听器public class Counter extends Frame implementsActionListener{TextField t=newTextField("");//文本框Panel p1=newPanel();//new一个panel,用于存放数字键和符号键。Panel p2=newPanel();//new一个panel,用于存放开方、平方、和清除键。Button[] b=newButton[10];//实例化Button对象Butt 阅读全文
posted @ 2013-06-08 22:00 廖世勇 阅读(942) 评论(0) 推荐(0) 编辑
摘要: GUIGUI全称是GraphicalUser Interface,即图形用户界面。顾名思义,就是应用程序提供给用户操作的图形界面,包括窗口、菜单、按钮、工具栏和其他各种屏幕元素。目前,图形用户界面已经成为一种趋势,它的好处自不必多说了,所以几乎所有的程序设计语言都提供了GUI设计功能。在Java里有两个包为GUI设计提供丰富的功能,它们是AWT和Swing。AWT是Java的早期版本,其中的AWT组件种类有限,可以提供基本的GUI设计工具,却无法完全实现目前GUI设计所需的所有功能。Swing是SUN公司对早期版本的改进版本,它不仅包括AWT中具有的所有部件,并且提供了更加丰富的部件和功能,它 阅读全文
posted @ 2013-06-08 21:43 廖世勇 阅读(817) 评论(0) 推荐(0) 编辑
摘要: Java计算器源代码 awt+swing图形界面实现最终效果图:Java计算器源代码:import java.awt.*;import java.awt.event.*;import javax.swing.*;/**********************Java计算器主类*********************/public class SunnyCalculator implements ActionListener { JFrame f; JMenu mEdit; JMenu mView; JMenu mHelp; JMenuItem mCopy; JMenuItem mPaste; 阅读全文
posted @ 2013-06-08 21:42 廖世勇 阅读(491) 评论(0) 推荐(0) 编辑
摘要: java基础教程-GUI 建立GUIs 本模块讲述图形用户界面的建立及布局。它介绍了抽象视窗工具包(AWT),一种建立GUIs的类包。AWT提供用于所有Java applets及应用程序中的基本GUI组件,还为应用程序提供与机器的界面。这将保证一台计算机上出现的东西与另一台上的相一致。 在学AWT之前,简单回顾一下对象层次。记住,超类是可以扩展的,它们的属性是可继承的。而且,类可以被抽象化,这就是说,它们是可被分成子类的模板,子类用于类的具体实现。 显示在屏幕上的每个GUI组件都是抽象类组件的子类。也就是说,每个从组件类扩展来的图形对象都与允许它们运行的大量方法和实例变量共享。Contain. 阅读全文
posted @ 2013-06-08 21:39 廖世勇 阅读(644) 评论(0) 推荐(0) 编辑
摘要: GUI 中监听 文本框实时改变的实例以下是一个关于GUI 中监听JTextField 发生改变时的代码段,private JTextField getGuestPayTextField() {if (guestPayTextField == null) {guestPayTextField = new JTextField();guestPayTextField.setBounds(new java.awt.Rectangle(90, 240,124, 25));guestPayTextField.getDocument().addDocumentListener(newDocumentLis 阅读全文
posted @ 2013-06-08 21:38 廖世勇 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 1.搭建三层框架1.1.什么是三层框架三层框架就是将代码简单的分为三层并对某些地方进行必要的封装,方便日后维护,主要分为以下三部分:界面层(Swing或JSP):主要是界面显示的代码。业务层(business):主要是处理业务逻辑的代码。数据访问层(DAO):主要是与数据库交互的代码。1.2.各层之间如何协作关系:界面层(调用) à 业务层(调用)à 数据访问层(与数据库交互)(显示)界面层 ß (结果)业务层 ß (结果)数据访问层数据传递:各层之间将数据封装成实体类(entity)进行传递。写入信息:界面层将用户录入的信息封装成实体类对象,然后传给业 阅读全文
posted @ 2013-06-08 21:36 廖世勇 阅读(312) 评论(0) 推荐(0) 编辑
摘要: dbutils开源项目用法DBUtils包括3个包:org.apache.commons.dbutilsorg.apache.commons.dbutils.handlersorg.apache.commons.dbutils.wrappersDBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。org.apache.commons.dbutilsDbUtils 关闭链接等操作QueryRunner 进行查询的操作org.apache.commons.dbutils.handlersArrayHandler :将ResultSet中第一行的数据转化成对象数组ArrayList 阅读全文
posted @ 2013-06-08 21:35 廖世勇 阅读(243) 评论(0) 推荐(0) 编辑
摘要: Java代码 1. package org.idcn.util 2. 3. import java.io.InputStream; 4. import java.sql.Connection; 5. import java.sql.Date; 6. import java.sql.PreparedStatement; 7. import java.sql.ResultSet; 8. import java.sql.SQLException; 9. import java.sql.Time; 10. import java.sql.Timestamp; 11. import ... 阅读全文
posted @ 2013-06-08 21:35 廖世勇 阅读(651) 评论(0) 推荐(0) 编辑
摘要: Dbutis packagecn.lining.test; importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.SQLException; importjava.util.List; importjava.util.Map; importorg.apache.commons.dbutils.DbUtils; importorg.apache.commons.dbutils.QueryRunner; importorg.apache.commons.dbutils.handlers.ArrayHan... 阅读全文
posted @ 2013-06-08 21:34 廖世勇 阅读(384) 评论(0) 推荐(0) 编辑