ybc

           

          2008年3月26日

          讀取properties文件的簡(jiǎn)單示例

          package ybc;

          import java.io.File;
          import java.io.FileInputStream;
          import java.io.FileOutputStream;
          import java.io.IOException;
          import java.util.Properties;


          public class GetFile {

          private Properties userList;


          public GetFile(String name,String password ) {//構(gòu)造函數(shù)
          super();
          Logger log = Logger.getLogger(GetFile.class);
          log.debug("構(gòu)造函數(shù)");
          userList=new Properties();
          userList.setProperty(name,password);

          }

          public Properties getUserList() throws IOException

          {

          // 判斷 userList 是否為空,如果為空,則重新加載屬性文件

          if (userList == null)

          {

          // 首先檢查保存用戶名、密碼的屬性文件是否存在

          File f = new File("d:/userFile.txt");

          // 如果文件不存在,則創(chuàng)建文件

          System.out.print("文件的路徑:"+f.getAbsolutePath()+"\n");

          if (!f.exists())

          f.createNewFile();

          // 創(chuàng)建新的 Properties 實(shí)例,該實(shí)例保存了用戶名、密碼對(duì)

          userList = new Properties();

          // 從屬性文件中加載所有的用戶名、密碼

          userList.load(new FileInputStream(f));

          }

          // 返回保存用戶名、密碼對(duì)的 Properties 實(shí)例

          return userList;
          }

          public boolean saveUserList()throws IOException

          {

          // 如果用戶列表為空,則無法保存用戶

          if (userList == null)

          {

          return false;

          }

          // 調(diào)用 Properties 類的 store 方法將用戶列表保存到文件輸出流

          userList.store(new FileOutputStream("d:/userFile.txt"), "userList");

          return true;

          }

          public static void main(String args[]){
          System.out.println("執(zhí)行的第一步:保存鍵值對(duì)到文本文件中");
          GetFile g= new GetFile("ybc","ybc");

          try{if(g.saveUserList())
          System.out.print("save successfull!\n");
          }catch(IOException e){
          System.out.print(e.toString());
          }
          System.out.println("執(zhí)行的第二步:取文本文件中的key對(duì)應(yīng)的值");
          //用下面這個(gè)類get Userlist
          try{
          g.userList=null;//這句不加的話,它就沒真正從文本文件中取,不信你試試注釋這句,然后運(yùn)行就看不到打印的文件路徑了!!!
          System.out.println("從文件中g(shù)et的user鍵:ybc的值:"+g.getUserList().get("ybc")+" ");
          }catch(IOException e){
          System.out.print(e.toString());
          }
          }
          // 通過上面的演示你可以簡(jiǎn)單了解:File、FileOutputStream、FileInputStream和Properties類的使用
          // 以上只是簡(jiǎn)單的演示了下properties文件的讀取過程,要深入了這個(gè)類可以參考java 的 Api文檔
          }

          posted @ 2008-03-28 09:19 ybc 閱讀(275) | 評(píng)論 (0)編輯 收藏

          利用spring2.0+hibernate3.2來做個(gè)hbm2ddl的簡(jiǎn)單示例

          運(yùn)行環(huán)境:eclipse3.2+myeclispe5.1
          數(shù)據(jù)庫(kù):mysql4.1
          服務(wù)期:tomcat5.5
          框架:spring2.0+hibernate3.2
          1。第一步:把環(huán)境搭起來,建個(gè)webproject項(xiàng)目
          2。第二步:建個(gè)簡(jiǎn)單的類

          例如:
          package vo;

          public class Student {
          private int id;
          private String name;
          public Student(int id, String name) {
          super();
          this.id = id;
          this.name = name;
          }
          public int getId() {
          return id;
          }
          public void setId(int id) {
          this.id = id;
          }
          public String getName() {
          return name;
          }
          public void setName(String name) {
          this.name = name;
          }

          }


          第三步:配置hbm文件

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE hibernate-mapping PUBLIC

          "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

          <hibernate-mapping package="vo">

          <!-- 每個(gè) class 元素映射一個(gè)持久化類 -->

          <class name="Student" table="student_table">

          <!-- 映射標(biāo)識(shí)屬性 -->

          <id name="id">

          <!-- 指定主鍵生成器策略 -->

          <generator class="identity"/>

          </id>

          <!-- 映射 name -->

          <property name="name"/>


          </class>

          </hibernate-mapping>



          第四步:配置applicationContext.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
          <beans>
          <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">

          <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/school"/>

          <property name="driverClass" value="com.mysql.jdbc.Driver"/>

          <property name="user" value="root"/>

          <property name="password" value="1234"/>

          <property name="maxPoolSize" value="40"/>

          <property name="minPoolSize" value="1"/>

          <property name="initialPoolSize" value="1"/>

          <property name="maxIdleTime" value="20"/>

          </bean>

          <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

          <property name="dataSource" ref="dataSource"/>

          <property name="mappingResources">

          <list>

          <value>vo/student.hbm.xml</value>

          </list>

          </property>

          <property name="hibernateProperties">

          <props>

          <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

          <prop key="show_sql">true</prop>

          <prop key="hibernate.hbm2ddl.auto">update</prop>

          <prop key="hibernate.jdbc.batch_size">20</prop>

          </props>

          </property>

          </bean>

          </beans>



          第五步:配置web.xml (注:主要是為了加載applicationContext.xml而用的)

          <?xml version="1.0" encoding="UTF-8"?>
          <web-app version="2.4"
          xmlns="http://java.sun.com/xml/ns/j2ee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
          http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

          <context-param>
          <param-name>contextConfigLocation</param-name>

          <param-value>/WEB-INF/applicationContext.xml</param-value>

          </context-param>

          <listener>

          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

          </listener>

          </web-app>
          第六步:就可以發(fā)布項(xiàng)目和運(yùn)行tomcat,然后在數(shù)據(jù)庫(kù)里就可以看到建成的student_table表了,是不是很簡(jiǎn)單啊,呵呵這只是個(gè)簡(jiǎn)單的入門。

          注意:1.在數(shù)據(jù)庫(kù)中要先建好database,我這里是school
          2.一些包不要忘記添加:如:antlr.jar,asm.jar,c3p0.jar,cglib.jar,commoons-beanutils.jar,commons-collection,jar
          hibernate3.2.jar,jta.jar,mysql-connector.jar
          spring-2.0.jar等等

          下面是log4j產(chǎn)生的運(yùn)行信息:
          2008-03-26 14:49:35,796 INFO [main] context.ContextLoader (ContextLoader.java:174) - Root WebApplicationContext: initialization started
          2008-03-26 14:49:35,796 INFO [main] core.ApplicationContext (ApplicationContext.java:646) - Loading Spring root WebApplicationContext
          2008-03-26 14:49:36,156 INFO [main] core.CollectionFactory (CollectionFactory.java:76) - JDK 1.4+ collections available
          2008-03-26 14:49:36,187 INFO [main] core.CollectionFactory (CollectionFactory.java:80) - Commons Collections 3.x available
          2008-03-26 14:49:36,390 INFO [main] xml.XmlBeanDefinitionReader (XmlBeanDefinitionReader.java:347) - Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
          2008-03-26 14:49:36,734 INFO [main] support.AbstractRefreshableApplicationContext (AbstractRefreshableApplicationContext.java:100) - Bean factory for application context [Root WebApplicationContext]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [dataSource,sessionFactory]; root of BeanFactory hierarchy
          2008-03-26 14:49:36,812 INFO [main] support.AbstractApplicationContext (AbstractApplicationContext.java:324) - 2 beans defined in application context [Root WebApplicationContext]
          2008-03-26 14:49:36,937 INFO [main] support.AbstractApplicationContext (AbstractApplicationContext.java:475) - Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@105fa26]
          2008-03-26 14:49:36,953 INFO [main] support.AbstractApplicationContext (AbstractApplicationContext.java:497) - Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@f90137]
          2008-03-26 14:49:37,078 INFO [main] support.UiApplicationContextUtils (UiApplicationContextUtils.java:83) - Unable to locate ThemeSource with name 'themeSource': using default [org.springframework.ui.context.support.ResourceBundleThemeSource@e38fca]
          2008-03-26 14:49:37,093 INFO [main] support.DefaultListableBeanFactory (DefaultListableBeanFactory.java:278) - Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [dataSource,sessionFactory]; root of BeanFactory hierarchy]
          2008-03-26 14:49:37,218 INFO [main] log.MLog (MLog.java:80) - MLog clients using log4j logging.
          2008-03-26 14:49:37,546 INFO [main] c3p0.C3P0Registry (C3P0Registry.java:204) - Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
          2008-03-26 14:49:38,296 INFO [main] cfg.Environment (Environment.java:500) - Hibernate 3.2.0
          2008-03-26 14:49:38,343 INFO [main] cfg.Environment (Environment.java:533) - hibernate.properties not found
          2008-03-26 14:49:38,343 INFO [main] cfg.Environment (Environment.java:667) - Bytecode provider name : cglib
          2008-03-26 14:49:38,359 INFO [main] cfg.Environment (Environment.java:584) - using JDK 1.4 java.sql.Timestamp handling
          2008-03-26 14:49:39,390 INFO [main] cfg.HbmBinder (HbmBinder.java:300) - Mapping class: vo.Student -> student_table
          2008-03-26 14:49:39,562 INFO [main] hibernate3.LocalSessionFactoryBean (LocalSessionFactoryBean.java:738) - Building new Hibernate SessionFactory
          2008-03-26 14:49:39,937 INFO [main] connection.ConnectionProviderFactory (ConnectionProviderFactory.java:72) - Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
          2008-03-26 14:49:40,203 INFO [main] impl.AbstractPoolBackedDataSource (AbstractPoolBackedDataSource.java:462) - Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1hge1277s1svuo9rknctg8|856d3b, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 1hge1277s1svuo9rknctg8|856d3b, idleConnectionTestPeriod -> 0, initialPoolSize -> 1, jdbcUrl -> jdbc:mysql://localhost:3306/school, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 20, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 40, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 1, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
          2008-03-26 14:49:40,781 INFO [main] cfg.SettingsFactory (SettingsFactory.java:81) - RDBMS: MySQL, version: 4.1.7-nt
          2008-03-26 14:49:40,781 INFO [main] cfg.SettingsFactory (SettingsFactory.java:82) - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-3.1.13 ( $Date: 2005-11-17 15:53:48 +0100 (Thu, 17 Nov 2005) $, $Revision$ )
          2008-03-26 14:49:40,906 INFO [main] dialect.Dialect (Dialect.java:141) - Using dialect: org.hibernate.dialect.MySQLDialect
          2008-03-26 14:49:40,937 INFO [main] transaction.TransactionFactoryFactory (TransactionFactoryFactory.java:31) - Using default transaction strategy (direct JDBC transactions)
          2008-03-26 14:49:40,953 INFO [main] transaction.TransactionManagerLookupFactory (TransactionManagerLookupFactory.java:33) - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
          2008-03-26 14:49:40,953 INFO [main] cfg.SettingsFactory (SettingsFactory.java:134) - Automatic flush during beforeCompletion(): disabled
          2008-03-26 14:49:40,953 INFO [main] cfg.SettingsFactory (SettingsFactory.java:138) - Automatic session close at end of transaction: disabled
          2008-03-26 14:49:40,953 INFO [main] cfg.SettingsFactory (SettingsFactory.java:145) - JDBC batch size: 20
          2008-03-26 14:49:40,953 INFO [main] cfg.SettingsFactory (SettingsFactory.java:148) - JDBC batch updates for versioned data: disabled
          2008-03-26 14:49:40,968 INFO [main] cfg.SettingsFactory (SettingsFactory.java:153) - Scrollable result sets: enabled
          2008-03-26 14:49:40,968 INFO [main] cfg.SettingsFactory (SettingsFactory.java:161) - JDBC3 getGeneratedKeys(): enabled
          2008-03-26 14:49:40,968 INFO [main] cfg.SettingsFactory (SettingsFactory.java:169) - Connection release mode: on_close
          2008-03-26 14:49:40,968 INFO [main] cfg.SettingsFactory (SettingsFactory.java:193) - Maximum outer join fetch depth: 2
          2008-03-26 14:49:40,968 INFO [main] cfg.SettingsFactory (SettingsFactory.java:196) - Default batch fetch size: 1
          2008-03-26 14:49:40,968 INFO [main] cfg.SettingsFactory (SettingsFactory.java:200) - Generate SQL with comments: disabled
          2008-03-26 14:49:40,968 INFO [main] cfg.SettingsFactory (SettingsFactory.java:204) - Order SQL updates by primary key: disabled
          2008-03-26 14:49:40,968 INFO [main] cfg.SettingsFactory (SettingsFactory.java:369) - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
          2008-03-26 14:49:41,000 INFO [main] ast.ASTQueryTranslatorFactory (ASTQueryTranslatorFactory.java:24) - Using ASTQueryTranslatorFactory
          2008-03-26 14:49:41,000 INFO [main] cfg.SettingsFactory (SettingsFactory.java:212) - Query language substitutions: {}
          2008-03-26 14:49:41,000 INFO [main] cfg.SettingsFactory (SettingsFactory.java:217) - JPA-QL strict compliance: disabled
          2008-03-26 14:49:41,000 INFO [main] cfg.SettingsFactory (SettingsFactory.java:222) - Second-level cache: enabled
          2008-03-26 14:49:41,000 INFO [main] cfg.SettingsFactory (SettingsFactory.java:226) - Query cache: disabled
          2008-03-26 14:49:41,000 INFO [main] cfg.SettingsFactory (SettingsFactory.java:356) - Cache provider: org.hibernate.cache.NoCacheProvider
          2008-03-26 14:49:41,000 INFO [main] cfg.SettingsFactory (SettingsFactory.java:241) - Optimize cache for minimal puts: disabled
          2008-03-26 14:49:41,000 INFO [main] cfg.SettingsFactory (SettingsFactory.java:250) - Structured second-level cache entries: disabled
          2008-03-26 14:49:41,062 INFO [main] cfg.SettingsFactory (SettingsFactory.java:277) - Statistics: disabled
          2008-03-26 14:49:41,062 INFO [main] cfg.SettingsFactory (SettingsFactory.java:281) - Deleted entity synthetic identifier rollback: disabled
          2008-03-26 14:49:41,062 INFO [main] cfg.SettingsFactory (SettingsFactory.java:296) - Default entity-mode: pojo
          2008-03-26 14:49:41,203 INFO [main] impl.SessionFactoryImpl (SessionFactoryImpl.java:161) - building session factory
          2008-03-26 14:49:41,781 INFO [main] tuple.PojoInstantiator (PojoInstantiator.java:61) - no default (no-argument) constructor for class: vo.Student (class must be instantiated by Interceptor)
          2008-03-26 14:49:42,937 INFO [main] impl.SessionFactoryObjectFactory (SessionFactoryObjectFactory.java:82) - Not binding factory to JNDI, no JNDI name configured
          2008-03-26 14:49:42,968 INFO [main] hbm2ddl.SchemaUpdate (SchemaUpdate.java:115) - Running hbm2ddl schema update
          2008-03-26 14:49:42,968 INFO [main] hbm2ddl.SchemaUpdate (SchemaUpdate.java:126) - fetching database metadata
          2008-03-26 14:49:43,000 INFO [main] hbm2ddl.SchemaUpdate (SchemaUpdate.java:138) - updating schema
          2008-03-26 14:49:43,031 INFO [main] hbm2ddl.DatabaseMetadata (DatabaseMetadata.java:91) - table not found: student_table
          2008-03-26 14:49:43,031 INFO [main] hbm2ddl.DatabaseMetadata (DatabaseMetadata.java:91) - table not found: student_table
          2008-03-26 14:49:43,421 INFO [main] hbm2ddl.SchemaUpdate (SchemaUpdate.java:160) - schema update complete
          2008-03-26 14:49:43,546 INFO [main] context.ContextLoader (ContextLoader.java:189) - Using context class [org.springframework.web.context.support.XmlWebApplicationContext] for root WebApplicationContext
          2008-03-26 14:49:43,578 INFO [main] context.ContextLoader (ContextLoader.java:199) - Root WebApplicationContext: initialization completed in 7782 ms

          posted @ 2008-03-26 15:34 ybc 閱讀(512) | 評(píng)論 (0)編輯 收藏

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 石林| 上虞市| 林西县| 沙雅县| 阳谷县| 皮山县| 清流县| 江阴市| 麻阳| 长寿区| 桃园县| 隆昌县| 蚌埠市| 安多县| 普兰店市| 隆尧县| 南溪县| 隆化县| 新巴尔虎右旗| 湖州市| 望江县| 孟津县| 杂多县| 邹城市| 克东县| 蓬莱市| 阳新县| 灌阳县| 陇川县| 衡阳市| 四川省| 汉阴县| 上林县| 海南省| 都江堰市| 缙云县| 皋兰县| 仙居县| 尉犁县| 田东县| 通河县|