爱问 爱问共享资料 爱问分类
首页 > > > 02_hibernateapp.pdf

02_hibernateapp.pdf

02_hibernateapp.pdf

上传者: 小公子
7次下载 0人收藏 暂无简介 简介 2011-06-21 举报

简介:Hibernate 讲义(孙卫琴)

第一个Hibernate应用n教学目标n创建Hibernate的配置文件n创建持久化类n创建数据库Scheman创建对象-关系映射文件n映射文件的文档类型定义(DTD)n把Customer持久化类映射到CUSTOMERS表n通过HibernateAPI操纵数据库n用ANT工具管理项目PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn在Java应用中使用Hibernate的步骤n创建Hibernate的配置文件n创建持久化类n创建对象-关系映射文件n通过HibernateAPI编写访问数据库的代码PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHelloapp应用的结构PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHibernate的配置文件(hibernate.properties)hibernate.dialect=net.sf.hibernate.dialect.MySQLDialecthibernate.connection.driver_class=com.mysql.jdbc.Driverhibernate.connection.url=jdbc:mysql://localhost:3306/SAMPLEDBhibernate.connection.username=roothibernate.connection.password=1234hibernate.show_sql=truePDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHibernate配置文件的属性PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn创建持久化类Customern持久化类符合JavaBean的规范,包含一些属性,以及与之对应的getXXX()和setXXX()方法。n持久化类有一个id属性,用来惟一标识Customer类的每个对象。在面向对象术语中,这个id属性被称为对象标识符(OID,ObjectIdentifier),通常它都用整数表示nHibernate要求持久化类必须提供一个不带参数的默认构造方法PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn创建数据库SchemacreatetableCUSTOMERS(IDbigintnotnullprimarykey,NAMEvarchar(15)notnull,EMAILvarchar(128)notnull,PASSWORDvarchar(8)notnull,PHONEint,ADDRESSvarchar(255),SEXchar(1),IS_MARRIEDbit,DESCRIPTIONtext,IMAGEblob,BIRTHDAYdate,REGISTERED_TIMEtimestamp);PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn创建对象-关系映射文件Customer.hbm.xml<hibernate-mapping><classname="mypack.Customer"table="CUSTOMERS"><idname="id"column="ID"type="long"><generatorclass="increment"/></id><propertyname="name"column="NAME"type="string"not-null="true"/><propertyname="email"column="EMAIL"type="string"not-null="true"/><propertyname="password"column="PASSWORD"type="string"not-null="true"/><propertyname="phone"column="PHONE"type="int"/><propertyname="address"column="ADDRESS"type="string"/><propertyname="sex"column="SEX"type="character"/>……</class></hibernate-mapping>PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn<id>元素映射OIDn<generator>子元素用来设定标识符生成器。Hibernate提供了提供了多种内置的实现。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn<property>元素映射值类型属性nname属性:指定持久化类的属性的名字。ntype属性:指定Hibernate映射类型。Hibernate映射类型是Java类型与SQL类型的桥梁。ncolumn属性:指定与类的属性映射的表的字段名。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnJava类型、Hibernate映射类型以及SQL类型之间的对应关系PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnCustomer.hbm.xml配置的对象-关系映射PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn采用XML文件来配置对象-关系映射的优点nHibernate既不会渗透到上层域模型中,也不会渗透到下层数据模型中。n软件开发人员可以独立设计域模型,不必强迫遵守任何规范。n数据库设计人员可以独立设计数据模型,不必强迫遵守任何规范。n对象-关系映射不依赖于任何程序代码,如果需要修改对象-关系映射,只需修改XML文件,不需要修改任何程序,提高了软件的灵活性,并且使维护更加方便。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn通过HibernateAPI操纵数据库PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn通过HibernateAPI操纵数据库PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn创建BusinessService类n初始化Hibernaten通过Hibernate的Session接口操纵数据库:n保存Customer对象n更新Customer对象n加载Customer对象n删除Customer对象n检索Customer对象PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHibernate的初始化static{try{//根据默认位置的Hibernate配置文件的配置信息,创建一个//Configuration实例Configurationconfig=newConfiguration();config.addClass(Customer.class);//创建SessionFactory实例*/sessionFactory=config.buildSessionFactory();}catch(Exceptione){e.printStackTrace();}}PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHibernate的初始化n(1)创建一个Configuration类的实例,Configuration类的构造方法把默认文件路径下的hibernate.properties配置文件中的配置信息读入到内存:Configurationconfig=newConfiguration();n(2)调用Configuration类的addClass(Customer.class)方法:config.addClass(Customer.class);该方法把默认文件路径下的Customer.hbm.xml文件中的映射信息读入到内存中。n(3)调用Configuration类的buildSessionFactory()方法:sessionFactory=config.buildSessionFactory();PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnSessionFactory接口n一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例。SessionFactory有以下特点:n它是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享。n它是重量级的,这意味着不能随意创建或销毁它的实例。如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实例。如果应用同时访问多个数据库,则需要为每个数据库创建一个单独的SessionFactory实例。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnSession接口nSession接口是Hibernate应用使用最广泛的接口。nSession也被称为持久化管理器,它提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。nSession有以下特点:n不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个Session实例。nSession实例是轻量级的,所谓轻量级是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建或销毁Session对象,例如为每个客户请求分配单独的Session实例,或者为每个工作单元分配单独的Session实例。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnSession接口操纵数据库的方法nSession接口提供了操纵数据库的各种方法,如:nsave()方法:把Java对象保存数据库中。nupdate()方法:更新数据库中的Java对象。ndelete()方法:把Java对象从数据库中删除。nload()方法:从数据库中加载Java对象。nfind()方法:从数据库中查询Java对象。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn用Session来执行事务的流程Sessionsession=factory.openSession();Transactiontx;try{//开始一个事务tx=session.beginTransaction();//执行事务...//提交事务tx.commit();}catch(Exceptione){//如果出现异常,就撤销事务if(tx!=null)tx.rollback();throwe;}finally{//不管事务执行成功与否,最后都关闭Sessionsession.close();}PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn正常执行数据库事务的流程PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnsaveCustomer()方法n该方法调用Session的save()方法,把Customer对象持久化到数据库中。tx=session.beginTransaction();session.save(customer);tx.commit();n当运行session.save()方法时,Hibernate执行以下SQL语句:insertintoCUSTOMERS(ID,NAME,EMAIL,PASSWORD,PHONE,ADDRESS,SEX,IS_MARRIED,DESCRIPTION,IMAGE,BIRTHDAY,REGISTERED_TIME)values(1,'Tom','tom@yahoo.com','1234',55556666,'Shanghai','M',0,'Iamveryhonest.',,'1980-05-06',null)n在test()方法中并没有设置Customer对象的id属性,Hibernate会根据映射文件的配置,采用increment标识符生成器自动以递增的方式为OID赋值。在Customer.hbm.xml文件中相关的映射代码如下:<idname="id"column="ID"type="long"><generatorclass="increment"/></id>PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnfindAllCustomers()方法n该方法调用Session的find()方法,查询所有的Customer对象。tx=session.beginTransaction();Listcustomers=session.find("fromCustomerascorderbyc.nameasc");for(Iteratorit=customers.iterator();it.hasNext();){printCustomer(context,out,(Customer)it.next());}tx.commit();nSession的find()方法有好几种重载形式,本例中传递的是字符串参数“fromCustomerascorderbyc.nameasc”,它使用的是Hibernate查询语言。运行session.find()方法时,Hibernate执行以下SQL语句:select*fromCUSTOMERSorderbyNAMEasc;PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnloadAndUpdateCustomer()方法n该方法调用Session的load()方法,加载Customer对象,然后再修改Customer对象的属性。tx=session.beginTransaction();Customerc=(Customer)session.load(Customer.class,customer_id);c.setAddress(address);tx.commit();n以上代码先调用Session的load()方法,它按照参数指定的OID从数据库中检索出匹配的Customer对象,Hibernate会执行以下SQL语句:select*fromCUSTOMERSwhereID=1;nloadAndUpdateCustomer()方法接着修改Customer对象的address属性。那么,Hibernate会不会同步更新数据库中相应的CUSTOMERS表的记录呢?答案是肯定的。Hibernate采用脏检查机制,按照内存中的Customer对象的状态的变化,来同步更新数据库中相关的数据,Hibernate会执行以下SQL语句:updateCUSTOMERSsetNAME="Tom",EMAIL="Tom@yahoo.com"…ADDRESS="Beijing"…whereID=1;n尽管只有Customer对象的address属性发生了变化,但是Hibernate执行的update语句中会包含所有的字段。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnprintCustomer()方法n该方法打印Customer对象的信息,privatevoidprintCustomer(Customercustomer)throwsException{byte[]buffer=customer.getImage();FileOutputStreamfout=newFileOutputStream("photo_copy.gif");fout.write(buffer);fout.close();System.out.println("------以下是"+customer.getName()+"的个人信息------");System.out.println("ID:"+customer.getId());System.out.println("口令:"+customer.getPassword());System.out.println("E-Mail:"+customer.getEmail());System.out.println("电话:"+customer.getPhone());……}PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cndeleteAllCustomers()方法n该方法调用Session的delete()方法,删除所有的Customer对象:tx=session.beginTransaction();session.delete("fromCustomerasc");tx.commit();n运行session.delete()方法时,Hibernate先执行select语句,查询CUSTOMERS表的所有Customer对象:select*fromCUSTOMERS;n接下来Hibernate根据Customer对象的OID,依次删除每个对象:deletefromCUSTOMERSwhereID=1;PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn用ANT工具管理项目n在build.xml文件中先定义了三个属性:<propertyname="source.root"value="src"/><propertyname="class.root"value="classes"/><propertyname="lib.dir"value="lib"/>nsource.root属性指定Java源文件的路径,class.root属性指定Java类的路径,lib.dir属性指定所有JAR文件的路径。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn用ANT工具管理项目n在build.xml文件中接着定义了三个target:npreparetarget:如果存在classes子目录,先将它删除。接着重新创建classes子目录。然后把src子目录下所有扩展名为“.properties”、“.hbm.xml”、“.xml”以及“.gif”的文件拷贝到WEB-INF/classes目录下。ncompiletarget:编译src子目录下的所有Java源文件。编译生成的类文件存放在WEB-INF/classes子目录下。nruntarget:运行BusinessService类。n<target>元素的depends属性指定所依赖的target,当运行runtarget时,会依次执行preparetarget、compiletarget和runtarget。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn

02_hibernateapp.pdf

02_hibernateapp.pdf

上传者: 小公子
7次下载 0人收藏 暂无简介 简介 2011-06-21 举报

简介:Hibernate 讲义(孙卫琴)

第一个Hibernate应用n教学目标n创建Hibernate的配置文件n创建持久化类n创建数据库Scheman创建对象-关系映射文件n映射文件的文档类型定义(DTD)n把Customer持久化类映射到CUSTOMERS表n通过HibernateAPI操纵数据库n用ANT工具管理项目PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn在Java应用中使用Hibernate的步骤n创建Hibernate的配置文件n创建持久化类n创建对象-关系映射文件n通过HibernateAPI编写访问数据库的代码PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHelloapp应用的结构PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHibernate的配置文件(hibernate.properties)hibernate.dialect=net.sf.hibernate.dialect.MySQLDialecthibernate.connection.driver_class=com.mysql.jdbc.Driverhibernate.connection.url=jdbc:mysql://localhost:3306/SAMPLEDBhibernate.connection.username=roothibernate.connection.password=1234hibernate.show_sql=truePDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHibernate配置文件的属性PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn创建持久化类Customern持久化类符合JavaBean的规范,包含一些属性,以及与之对应的getXXX()和setXXX()方法。n持久化类有一个id属性,用来惟一标识Customer类的每个对象。在面向对象术语中,这个id属性被称为对象标识符(OID,ObjectIdentifier),通常它都用整数表示nHibernate要求持久化类必须提供一个不带参数的默认构造方法PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn创建数据库SchemacreatetableCUSTOMERS(IDbigintnotnullprimarykey,NAMEvarchar(15)notnull,EMAILvarchar(128)notnull,PASSWORDvarchar(8)notnull,PHONEint,ADDRESSvarchar(255),SEXchar(1),IS_MARRIEDbit,DESCRIPTIONtext,IMAGEblob,BIRTHDAYdate,REGISTERED_TIMEtimestamp);PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn创建对象-关系映射文件Customer.hbm.xml<hibernate-mapping><classname="mypack.Customer"table="CUSTOMERS"><idname="id"column="ID"type="long"><generatorclass="increment"/></id><propertyname="name"column="NAME"type="string"not-null="true"/><propertyname="email"column="EMAIL"type="string"not-null="true"/><propertyname="password"column="PASSWORD"type="string"not-null="true"/><propertyname="phone"column="PHONE"type="int"/><propertyname="address"column="ADDRESS"type="string"/><propertyname="sex"column="SEX"type="character"/>……</class></hibernate-mapping>PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn<id>元素映射OIDn<generator>子元素用来设定标识符生成器。Hibernate提供了提供了多种内置的实现。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn<property>元素映射值类型属性nname属性:指定持久化类的属性的名字。ntype属性:指定Hibernate映射类型。Hibernate映射类型是Java类型与SQL类型的桥梁。ncolumn属性:指定与类的属性映射的表的字段名。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnJava类型、Hibernate映射类型以及SQL类型之间的对应关系PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnCustomer.hbm.xml配置的对象-关系映射PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn采用XML文件来配置对象-关系映射的优点nHibernate既不会渗透到上层域模型中,也不会渗透到下层数据模型中。n软件开发人员可以独立设计域模型,不必强迫遵守任何规范。n数据库设计人员可以独立设计数据模型,不必强迫遵守任何规范。n对象-关系映射不依赖于任何程序代码,如果需要修改对象-关系映射,只需修改XML文件,不需要修改任何程序,提高了软件的灵活性,并且使维护更加方便。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn通过HibernateAPI操纵数据库PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn通过HibernateAPI操纵数据库PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn创建BusinessService类n初始化Hibernaten通过Hibernate的Session接口操纵数据库:n保存Customer对象n更新Customer对象n加载Customer对象n删除Customer对象n检索Customer对象PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHibernate的初始化static{try{//根据默认位置的Hibernate配置文件的配置信息,创建一个//Configuration实例Configurationconfig=newConfiguration();config.addClass(Customer.class);//创建SessionFactory实例*/sessionFactory=config.buildSessionFactory();}catch(Exceptione){e.printStackTrace();}}PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnHibernate的初始化n(1)创建一个Configuration类的实例,Configuration类的构造方法把默认文件路径下的hibernate.properties配置文件中的配置信息读入到内存:Configurationconfig=newConfiguration();n(2)调用Configuration类的addClass(Customer.class)方法:config.addClass(Customer.class);该方法把默认文件路径下的Customer.hbm.xml文件中的映射信息读入到内存中。n(3)调用Configuration类的buildSessionFactory()方法:sessionFactory=config.buildSessionFactory();PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnSessionFactory接口n一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例。SessionFactory有以下特点:n它是线程安全的,这意味着它的同一个实例可以被应用的多个线程共享。n它是重量级的,这意味着不能随意创建或销毁它的实例。如果应用只访问一个数据库,只需要创建一个SessionFactory实例,在应用初始化的时候创建该实例。如果应用同时访问多个数据库,则需要为每个数据库创建一个单独的SessionFactory实例。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnSession接口nSession接口是Hibernate应用使用最广泛的接口。nSession也被称为持久化管理器,它提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。nSession有以下特点:n不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个Session实例。nSession实例是轻量级的,所谓轻量级是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建或销毁Session对象,例如为每个客户请求分配单独的Session实例,或者为每个工作单元分配单独的Session实例。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnSession接口操纵数据库的方法nSession接口提供了操纵数据库的各种方法,如:nsave()方法:把Java对象保存数据库中。nupdate()方法:更新数据库中的Java对象。ndelete()方法:把Java对象从数据库中删除。nload()方法:从数据库中加载Java对象。nfind()方法:从数据库中查询Java对象。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn用Session来执行事务的流程Sessionsession=factory.openSession();Transactiontx;try{//开始一个事务tx=session.beginTransaction();//执行事务...//提交事务tx.commit();}catch(Exceptione){//如果出现异常,就撤销事务if(tx!=null)tx.rollback();throwe;}finally{//不管事务执行成功与否,最后都关闭Sessionsession.close();}PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn正常执行数据库事务的流程PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnsaveCustomer()方法n该方法调用Session的save()方法,把Customer对象持久化到数据库中。tx=session.beginTransaction();session.save(customer);tx.commit();n当运行session.save()方法时,Hibernate执行以下SQL语句:insertintoCUSTOMERS(ID,NAME,EMAIL,PASSWORD,PHONE,ADDRESS,SEX,IS_MARRIED,DESCRIPTION,IMAGE,BIRTHDAY,REGISTERED_TIME)values(1,'Tom','tom@yahoo.com','1234',55556666,'Shanghai','M',0,'Iamveryhonest.',,'1980-05-06',null)n在test()方法中并没有设置Customer对象的id属性,Hibernate会根据映射文件的配置,采用increment标识符生成器自动以递增的方式为OID赋值。在Customer.hbm.xml文件中相关的映射代码如下:<idname="id"column="ID"type="long"><generatorclass="increment"/></id>PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnfindAllCustomers()方法n该方法调用Session的find()方法,查询所有的Customer对象。tx=session.beginTransaction();Listcustomers=session.find("fromCustomerascorderbyc.nameasc");for(Iteratorit=customers.iterator();it.hasNext();){printCustomer(context,out,(Customer)it.next());}tx.commit();nSession的find()方法有好几种重载形式,本例中传递的是字符串参数“fromCustomerascorderbyc.nameasc”,它使用的是Hibernate查询语言。运行session.find()方法时,Hibernate执行以下SQL语句:select*fromCUSTOMERSorderbyNAMEasc;PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnloadAndUpdateCustomer()方法n该方法调用Session的load()方法,加载Customer对象,然后再修改Customer对象的属性。tx=session.beginTransaction();Customerc=(Customer)session.load(Customer.class,customer_id);c.setAddress(address);tx.commit();n以上代码先调用Session的load()方法,它按照参数指定的OID从数据库中检索出匹配的Customer对象,Hibernate会执行以下SQL语句:select*fromCUSTOMERSwhereID=1;nloadAndUpdateCustomer()方法接着修改Customer对象的address属性。那么,Hibernate会不会同步更新数据库中相应的CUSTOMERS表的记录呢?答案是肯定的。Hibernate采用脏检查机制,按照内存中的Customer对象的状态的变化,来同步更新数据库中相关的数据,Hibernate会执行以下SQL语句:updateCUSTOMERSsetNAME="Tom",EMAIL="Tom@yahoo.com"…ADDRESS="Beijing"…whereID=1;n尽管只有Customer对象的address属性发生了变化,但是Hibernate执行的update语句中会包含所有的字段。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cnprintCustomer()方法n该方法打印Customer对象的信息,privatevoidprintCustomer(Customercustomer)throwsException{byte[]buffer=customer.getImage();FileOutputStreamfout=newFileOutputStream("photo_copy.gif");fout.write(buffer);fout.close();System.out.println("------以下是"+customer.getName()+"的个人信息------");System.out.println("ID:"+customer.getId());System.out.println("口令:"+customer.getPassword());System.out.println("E-Mail:"+customer.getEmail());System.out.println("电话:"+customer.getPhone());……}PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cndeleteAllCustomers()方法n该方法调用Session的delete()方法,删除所有的Customer对象:tx=session.beginTransaction();session.delete("fromCustomerasc");tx.commit();n运行session.delete()方法时,Hibernate先执行select语句,查询CUSTOMERS表的所有Customer对象:select*fromCUSTOMERS;n接下来Hibernate根据Customer对象的OID,依次删除每个对象:deletefromCUSTOMERSwhereID=1;PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn用ANT工具管理项目n在build.xml文件中先定义了三个属性:<propertyname="source.root"value="src"/><propertyname="class.root"value="classes"/><propertyname="lib.dir"value="lib"/>nsource.root属性指定Java源文件的路径,class.root属性指定Java类的路径,lib.dir属性指定所有JAR文件的路径。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn用ANT工具管理项目n在build.xml文件中接着定义了三个target:npreparetarget:如果存在classes子目录,先将它删除。接着重新创建classes子目录。然后把src子目录下所有扩展名为“.properties”、“.hbm.xml”、“.xml”以及“.gif”的文件拷贝到WEB-INF/classes目录下。ncompiletarget:编译src子目录下的所有Java源文件。编译生成的类文件存放在WEB-INF/classes子目录下。nruntarget:运行BusinessService类。n<target>元素的depends属性指定所依赖的target,当运行runtarget时,会依次执行preparetarget、compiletarget和runtarget。PDF文件使用"pdfFactory"试用版本创建www.fineprint.com.cn
  • 相关资料
  • 该用户的其他资料
  • 名称/格式
  • 下载次数
  • 资料大小
  • 名称/格式
  • 下载次数
  • 资料大小

用户评论

0/200
暂无评论
上传我的资料
关闭

请选择举报的类型

关闭

提示

提交成功!

感谢您对爱问共享资料的支持,我们将尽快核实并处理您的举报信息。

关闭

提示

提交失败!

您的举报信息提交失败,请重试!

关闭

提示

重复举报!

亲爱的用户!感觉您对爱问共享资料的支持,请勿重复举报噢!

全屏 缩小 放大
收藏
资料评价:

/ 30
所需积分:1 立即下载
返回
顶部
举报
资料
关闭

温馨提示

感谢您对爱问共享资料的支持,精彩活动将尽快为您呈现,敬请期待!