﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-周俊迪-文章分类-JAVA</title><link>http://www.blogjava.net/zhoujundi/category/29460.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 28 Feb 2008 20:05:55 GMT</lastBuildDate><pubDate>Thu, 28 Feb 2008 20:05:55 GMT</pubDate><ttl>60</ttl><item><title>Hibernate 参数设置一览表</title><link>http://www.blogjava.net/zhoujundi/articles/182807.html</link><dc:creator>周俊迪</dc:creator><author>周俊迪</author><pubDate>Thu, 28 Feb 2008 15:21:00 GMT</pubDate><guid>http://www.blogjava.net/zhoujundi/articles/182807.html</guid><wfw:comment>http://www.blogjava.net/zhoujundi/comments/182807.html</wfw:comment><comments>http://www.blogjava.net/zhoujundi/articles/182807.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhoujundi/comments/commentRss/182807.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhoujundi/services/trackbacks/182807.html</trackback:ping><description><![CDATA[属性名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用途<br />
hibernate.dialect&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个Hibernate&nbsp;Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL.&nbsp;取值full.classname.of.Dialect<br />
hibernate.show_sql&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;输出所有SQL语句到控制台.&nbsp;有一个另外的选择是把org.hibernate.SQL这个log&nbsp;category设为debug。&nbsp;eg.true&nbsp;|&nbsp;false<br />
hibernate.format_sql&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在log和console中打印出更漂亮的SQL。&nbsp;取值true&nbsp;|&nbsp;false<br />
hibernate.default_schema&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在生成的SQL中,&nbsp;将给定的schema/tablespace附加于非全限定名的表名上.&nbsp;取值SCHEMA_NAME<br />
hibernate.default_catalog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在生成的SQL中,&nbsp;将给定的catalog附加于非全限定名的表名上.&nbsp;取值CATALOG_NAME<br />
hibernate.session_factory_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SessionFactory&nbsp;创建后，将自动使用这个名字绑定到JNDI中.&nbsp;取值jndi/composite/name<br />
hibernate.max_fetch_depth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为单向关联(一对一,&nbsp;多对一)的外连接抓取（outer&nbsp;join&nbsp;fetch）树设置最大深度.&nbsp;值为0意味着将关闭默认的外连接抓取.&nbsp;取值&nbsp;建议在0到3之间取值<br />
hibernate.default_batch_fetch_size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为Hibernate关联的批量抓取设置默认数量.&nbsp;取值&nbsp;建议的取值为4,&nbsp;8,&nbsp;和16<br />
hibernate.default_entity_mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为由这个SessionFactory打开的所有Session指定默认的实体表现模式.&nbsp;取值dynamic-map,&nbsp;dom4j,&nbsp;pojo<br />
hibernate.order_updates&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;强制Hibernate按照被更新数据的主键，为SQL更新排序。这么做将减少在高并发系统中事务的死锁。&nbsp;取值true&nbsp;|&nbsp;false<br />
hibernate.generate_statistics&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果开启,&nbsp;Hibernate将收集有助于性能调节的统计数据.&nbsp;取值true&nbsp;|&nbsp;false<br />
hibernate.use_identifer_rollback&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果开启,&nbsp;在对象被删除时生成的标识属性将被重设为默认值.&nbsp;取值true&nbsp;|&nbsp;false<br />
hibernate.use_sql_comments&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果开启,&nbsp;Hibernate将在SQL中生成有助于调试的注释信息,&nbsp;默认值为false.&nbsp;取值true&nbsp;|&nbsp;false<br />
<br />
表&nbsp;3.4.&nbsp;&nbsp;Hibernate&nbsp;JDBC和连接(connection)属性<br />
属性名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用途<br />
hibernate.jdbc.fetch_size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;非零值，指定JDBC抓取数量的大小&nbsp;(调用Statement.setFetchSize()).<br />
hibernate.jdbc.batch_size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;非零值，允许Hibernate使用JDBC2的批量更新.&nbsp;取值&nbsp;建议取5到30之间的值<br />
hibernate.jdbc.batch_versioned_data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果你想让你的JDBC驱动从executeBatch()返回正确的行计数&nbsp;,&nbsp;那么将此属性设为true(开启这个选项通常是安全的).&nbsp;同时，Hibernate将为自动版本化的数据使用批量DML.&nbsp;默认值为false.&nbsp;eg.true&nbsp;|&nbsp;false<br />
hibernate.jdbc.factory_class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;选择一个自定义的Batcher.&nbsp;多数应用程序不需要这个配置属性.&nbsp;eg.classname.of.Batcher<br />
hibernate.jdbc.use_scrollable_resultset&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;允许Hibernate使用JDBC2的可滚动结果集.&nbsp;只有在使用用户提供的JDBC连接时，这个选项才是必要的,&nbsp;否则Hibernate会使用连接的元数据.&nbsp;取值true&nbsp;|&nbsp;false<br />
hibernate.jdbc.use_streams_for_binary&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在JDBC读写binary&nbsp;(二进制)或serializable&nbsp;(可序列化)&nbsp;的类型时使用流(stream)(系统级属性).&nbsp;取值true&nbsp;|&nbsp;false<br />
hibernate.jdbc.use_get_generated_keys&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在数据插入数据库之后，允许使用JDBC3&nbsp;PreparedStatement.getGeneratedKeys()&nbsp;来获取数据库生成的key(键)。需要JDBC3+驱动和JRE1.4+,&nbsp;如果你的数据库驱动在使用Hibernate的标&nbsp;识生成器时遇到问题，请将此值设为false.&nbsp;默认情况下将使用连接的元数据来判定驱动的能力.&nbsp;取值true|false<br />
hibernate.connection.provider_class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;自定义ConnectionProvider的类名,&nbsp;此类用来向Hibernate提供JDBC连接.&nbsp;取值classname.of.ConnectionProvider<br />
hibernate.connection.isolation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;设置JDBC事务隔离级别.&nbsp;查看java.sql.Connection来了解各个值的具体意义,&nbsp;但请注意多数数据库都不支持所有的隔离级别.&nbsp;取值1,&nbsp;2,&nbsp;4,&nbsp;8<br />
hibernate.connection.autocommit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;允许被缓存的JDBC连接开启自动提交(autocommit)&nbsp;(不建议).&nbsp;取值true&nbsp;|&nbsp;false<br />
hibernate.connection.release_mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;指定Hibernate在何时释放JDBC连接.&nbsp;默认情况下,直到Session被显式关闭或被断开连接时,才会释放JDBC连接.&nbsp;对于应用程序服务器的JTA数据源,&nbsp;你应当使用after_statement,&nbsp;这样在每次JDBC调用后，都会主动的释放连接.&nbsp;对于非JTA的连接,&nbsp;使用after_transaction在每个事务结束时释放连接是合理的.&nbsp;auto将为JTA和CMT事务策略选择after_statement,&nbsp;为JDBC事务策略选择after_transaction.&nbsp;取值on_close&nbsp;|&nbsp;after_transaction&nbsp;|&nbsp;after_statement&nbsp;|&nbsp;auto<br />
hibernate.connection.&lt;propertyName&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将JDBC属性propertyName传递到DriverManager.getConnection()中去.<br />
hibernate.jndi.&lt;propertyName&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将属性propertyName传递到JNDI&nbsp;InitialContextFactory中去.<br />
<br />
表&nbsp;3.5.&nbsp;&nbsp;Hibernate缓存属性<br />
属性名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用途<br />
hibernate.cache.provider_class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;自定义的CacheProvider的类名.&nbsp;取值classname.of.CacheProvider<br />
hibernate.cache.use_minimal_puts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;以频繁的读操作为代价,&nbsp;优化二级缓存来最小化写操作.&nbsp;在Hibernate3中，这个设置对的集群缓存非常有用,&nbsp;对集群缓存的实现而言，默认是开启的.&nbsp;取值true|false<br />
hibernate.cache.use_query_cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;允许查询缓存,&nbsp;个别查询仍然需要被设置为可缓存的.&nbsp;取值true|false<br />
hibernate.cache.use_second_level_cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;能用来完全禁止使用二级缓存.&nbsp;对那些在类的映射定义中指定&lt;cache&gt;的类，会默认开启二级缓存.&nbsp;取值true|false<br />
hibernate.cache.query_cache_factory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;自定义实现QueryCache接口的类名,&nbsp;默认为内建的StandardQueryCache.&nbsp;取值classname.of.QueryCache<br />
hibernate.cache.region_prefix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;二级缓存区域名的前缀.&nbsp;取值prefix<br />
hibernate.cache.use_structured_entries&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;强制Hibernate以更人性化的格式将数据存入二级缓存.&nbsp;取值true|false<br />
<br />
表&nbsp;3.6.&nbsp;&nbsp;Hibernate事务属性<br />
属性名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用途<br />
hibernate.transaction.factory_class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个TransactionFactory的类名,&nbsp;用于Hibernate&nbsp;Transaction&nbsp;API&nbsp;(默认为JDBCTransactionFactory).&nbsp;取值classname.of.TransactionFactory<br />
jta.UserTransaction&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个JNDI名字，被JTATransactionFactory用来从应用服务器获取JTA&nbsp;UserTransaction.&nbsp;取值jndi/composite/name<br />
hibernate.transaction.manager_lookup_class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一个TransactionManagerLookup的类名&nbsp;-&nbsp;当使用JVM级缓存，或在JTA环境中使用hilo生成器的时候需要该类.&nbsp;取值classname.of.TransactionManagerLookup<br />
hibernate.transaction.flush_before_completion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果开启,&nbsp;session在事务完成后将被自动清洗(flush)。&nbsp;现在更好的方法是使用自动session上下文管理。取值true&nbsp;|&nbsp;false<br />
hibernate.transaction.auto_close_session&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果开启,&nbsp;session在事务完成后将被自动关闭。&nbsp;现在更好的方法是使用自动session上下文管理。取值true&nbsp;|&nbsp;false<br />
<br />
表&nbsp;3.7.&nbsp;&nbsp;其他属性<br />
属性名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用途<br />
hibernate.current_session_context_class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为"当前"&nbsp;Session指定一个(自定义的)策略。eg.jta&nbsp;|&nbsp;thread&nbsp;|&nbsp;custom.Class<br />
hibernate.query.factory_class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;选择HQL解析器的实现.&nbsp;取值org.hibernate.hql.ast.ASTQueryTranslatorFactory&nbsp;or&nbsp;org.hibernate.hql.classic.ClassicQueryTranslatorFactory<br />
hibernate.query.substitutions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;将Hibernate查询中的符号映射到SQL查询中的符号&nbsp;(符号可能是函数名或常量名字).&nbsp;取值hqlLiteral=SQL_LITERAL,&nbsp;hqlFunction=SQLFUNC<br />
hibernate.hbm2ddl.auto&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在SessionFactory创建时，自动检查数据库结构，或者将数据库schema的DDL导出到数据库.&nbsp;使用&nbsp;create-drop时,在显式关闭SessionFactory时，将drop掉数据库schema.&nbsp;取值validate&nbsp;|&nbsp;update&nbsp;|&nbsp;create&nbsp;|&nbsp;create-drop<br />
hibernate.cglib.use_reflection_optimizer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;开启CGLIB来替代运行时反射机制(系统级属性).&nbsp;反射机制有时在除错时比较有用.&nbsp;注意即使关闭这个优化,&nbsp;Hibernate还是需要CGLIB.&nbsp;你不能在hibernate.cfg.xml中设置此属性.&nbsp;取值true&nbsp;|&nbsp;false<br />
3.4.1.&nbsp;&nbsp;SQL方言<br />
<br />
你应当总是为你的数据库将hibernate.dialect属性设置成正确的&nbsp;org.hibernate.dialect.Dialect子类.&nbsp;如果你指定一种方言,&nbsp;Hibernate将为上面列出的一些属性使用合理的默认值,&nbsp;为你省去了手工指定它们的功夫.<br />
<br />
表&nbsp;3.8.&nbsp;&nbsp;Hibernate&nbsp;SQL方言&nbsp;(hibernate.dialect)<br />
RDBMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;方言<br />
DB2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.DB2Dialect<br />
DB2&nbsp;AS/400&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.DB2400Dialect<br />
DB2&nbsp;OS390&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.DB2390Dialect<br />
PostgreSQL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.PostgreSQLDialect<br />
MySQL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.MySQLDialect<br />
MySQL&nbsp;with&nbsp;InnoDB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.MySQLInnoDBDialect<br />
MySQL&nbsp;with&nbsp;MyISAM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.MySQLMyISAMDialect<br />
oracle&nbsp;(any&nbsp;version)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.OracleDialect<br />
oracle&nbsp;9i/10g&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.Oracle9Dialect<br />
Sybase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.SybaseDialect<br />
Sybase&nbsp;Anywhere&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.SybaseAnywhereDialect<br />
Microsoft&nbsp;SQL&nbsp;Server&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.SQLServerDialect<br />
SAP&nbsp;DB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.SAPDBDialect<br />
Informix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.InformixDialect<br />
HypersonicSQL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.HSQLDialect<br />
Ingres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.IngresDialect<br />
Progress&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.ProgressDialect<br />
Mckoi&nbsp;SQL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.MckoiDialect<br />
Interbase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.InterbaseDialect<br />
Pointbase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.PointbaseDialect<br />
FrontBase&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.FrontbaseDialect<br />
Firebird&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.hibernate.dialect.FirebirdDialect<br />
<br />
表&nbsp;3.9.&nbsp;&nbsp;Hibernate日志类别<br />
类别&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;功能<br />
org.hibernate.SQL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在所有SQL&nbsp;DML语句被执行时为它们记录日志<br />
org.hibernate.type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为所有JDBC参数记录日志<br />
org.hibernate.tool.hbm2ddl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在所有SQL&nbsp;DDL语句执行时为它们记录日志<br />
org.hibernate.pretty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在session清洗(flush)时，为所有与其关联的实体(最多20个)的状态记录日志<br />
org.hibernate.cache&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为所有二级缓存的活动记录日志<br />
org.hibernate.transaction&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为事务相关的活动记录日志<br />
org.hibernate.jdbc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为所有JDBC资源的获取记录日志<br />
org.hibernate.hql.AST&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在解析查询的时候,记录HQL和SQL的AST分析日志<br />
org.hibernate.secure&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为JAAS认证请求做日志<br />
org.hibernate&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为任何Hibernate相关信息做日志&nbsp;(信息量较大,&nbsp;但对查错非常有帮助)<br />
<br />
表&nbsp;3.10.&nbsp;JTA&nbsp;TransactionManagers<br />
Transaction工厂类&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;应用程序服务器<br />
org.hibernate.transaction.JBossTransactionManagerLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JBoss<br />
org.hibernate.transaction.WeblogicTransactionManagerLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Weblogic<br />
org.hibernate.transaction.WebSphereTransactionManagerLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WebSphere<br />
org.hibernate.transaction.WebSphereExtendedJTATransactionLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WebSphere&nbsp;6<br />
org.hibernate.transaction.OrionTransactionManagerLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;orion<br />
org.hibernate.transaction.ResinTransactionManagerLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Resin<br />
org.hibernate.transaction.JOTMTransactionManagerLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JOTM<br />
org.hibernate.transaction.JOnASTransactionManagerLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JOnAS<br />
org.hibernate.transaction.JRun4TransactionManagerLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JRun4<br />
org.hibernate.transaction.BESTransactionManagerLookup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Borland&nbsp;ES <br />
<img src ="http://www.blogjava.net/zhoujundi/aggbug/182807.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhoujundi/" target="_blank">周俊迪</a> 2008-02-28 23:21 <a href="http://www.blogjava.net/zhoujundi/articles/182807.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用JSON-LIB转换JAVA对象(转载)</title><link>http://www.blogjava.net/zhoujundi/articles/180133.html</link><dc:creator>周俊迪</dc:creator><author>周俊迪</author><pubDate>Fri, 15 Feb 2008 14:45:00 GMT</pubDate><guid>http://www.blogjava.net/zhoujundi/articles/180133.html</guid><wfw:comment>http://www.blogjava.net/zhoujundi/comments/180133.html</wfw:comment><comments>http://www.blogjava.net/zhoujundi/articles/180133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhoujundi/comments/commentRss/180133.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhoujundi/services/trackbacks/180133.html</trackback:ping><description><![CDATA[<font size="3"><strong><span>下载</span></strong></font>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font size="3"><span><span><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span>到</span><span><a href="http://json-lib.sourceforge.net/"><font face="Times New Roman">http://json-lib.sourceforge.net</font></a></span><span>下载</span><span><font face="Times New Roman">json-lib-1.1-jdk15.jar</font></span><span>，运行</span><span><font face="Times New Roman">json</font></span><span>还需要的包有：</span><span><font face="Times New Roman">commons-lang.jar</font></span><span>、</span><span><font face="Times New Roman">commons-logging.jar</font></span><span>，</span><span><font face="Times New Roman">commons-beanutils.jar</font></span><span>、</span><span><font face="Times New Roman">xom-1.0-2005-01-05.jar</font></span><span>、</span><span><font face="Times New Roman">ezmorph-1.0.1.jar</font></span><span>，可在</span><span><a href="http://www.docjar.com/"><font face="Times New Roman">http://www.docjar.com</font></a></span><span>搜索下载。</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><span><font face="Times New Roman" size="3">&nbsp;&nbsp;&nbsp; </font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><span><span><font size="3">l</font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><font size="3"><span>转化数组和集合</span></font></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp; </span>boolean[] boolArray = new boolean[]{true,false,true};</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>JSONArray jsonArray = JSONArray.fromObject(boolArray);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.out.println(jsonArray);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font size="3"><span><span><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span>输出：</span><span><font face="Times New Roman">[true,false,true]</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp; </span>List list = new ArrayList();</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font size="3"><span><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>list.add(&#8220;</font></span><span>第一个</span><span><font face="Times New Roman">&#8221;);</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font size="3"><span><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>list.add(&#8220;</font></span><span>第二个</span><span><font face="Times New Roman">&#8221;);</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>JSONArray jsonArray = JSONArray.fromObject(list);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp; </span>System.out.println(jsonArray);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font size="3"><span><span><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span>输出：</span><span><font face="Times New Roman">[&#8220;</font></span><span>第一个</span><span><font face="Times New Roman">&#8221;, &#8220;</font></span><span>第二个</span><span><font face="Times New Roman">&#8221;]</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><span><font face="Times New Roman" size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']");</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp; </span>System.out.println(jsonArray3);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><font size="3"><span><span><font face="Times New Roman">&nbsp;&nbsp;&nbsp; </font></span></span><span>输出：</span><span><font face="Times New Roman">[&#8220;json&#8221;, &#8220;is&#8221;, &#8220;'easy'&#8221;]</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 42pt; text-indent: -21pt"><span><span><font size="3">l</font><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><strong><font size="3"><span>转化对象</span></font></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><strong><font size="3"><span>转化</span><span><font face="Times New Roman">Map</font></span></font></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">Map map = new HashMap();</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">map.put("name","json");</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">map.put("bool",Boolean.TRUE);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">map.put("int",new Integer(1));</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">map.put("arr",new String[]{"a","b"});</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">map.put("func","function(i){return this.arr[i];}");</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">JSONObject json = JSONObject.fromObject(map);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">System.out.println(json);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><font size="3"><span>输出：</span><span><font face="Times New Roman">[&#8220;name&#8221;: &#8220;json&#8221;, &#8220;bool&#8221;:true, &#8220;int&#8221;,1, &#8220;arr&#8221;:[ &#8220;a&#8221;, &#8220;b&#8221;], &#8220;func&#8221;:function(i){return this.arr[i];}]</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><strong><font size="3"><span>转化</span><span><font face="Times New Roman">Bean</font></span></font></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><strong><span><font size="3"><font face="Times New Roman">MyBean.java</font></font></span></strong></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">public class MyBean {</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp; </span>private String name = "json";</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;</span>private int pojoId = 1;</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp; </span>private String func1 = "function(i){return this.options[i]}";</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font size="3"><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp; </span>private JSONFunction func2 = new JSONFunction(new String[]{"i"},"return this.options[i];");</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><span><font face="Times New Roman" size="3">&nbsp;&nbsp;&nbsp; </font></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><font size="3"><span><font face="Times New Roman"><span>&nbsp;&nbsp;&nbsp; </span>//</font></span><span>以下为</span><span><font face="Times New Roman">get</font></span><span>、</span><span><font face="Times New Roman">set</font></span><span>方法</span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font face="Times New Roman" size="3">}</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font face="Times New Roman" size="3">MyBean bean = new MyBean();</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font face="Times New Roman" size="3">JSONObject jsonObject = JSONObject.fromObject(bean);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font face="Times New Roman" size="3">System.out.println(jsonObject);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font size="3">输出：</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font face="Times New Roman" size="3">{"func1":function(i){return this.options[i]},"pojoId":1,"name":"json","func2":function(i){ return this.options[i]; }</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 84pt; text-indent: -63pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><font size="3"><strong><span>从</span><span><font face="Times New Roman">JSON</font></span></strong><strong><span>到</span><span><font face="Times New Roman">Beans</font></span></strong></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><font size="3"><span><font face="Times New Roman">//</font></span><span>转化为动态</span><span><font face="Times New Roman">bean</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 131.25pt; text-indent: -110.25pt"><span><font face="Times New Roman" size="3">String myjson = "{name=\"json\",bool:true,int:1,double:2.2,function:function(a){return a;},array:[1,2]}";</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">JSONObject json1 = JSONObject.fromString(myjson);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">Object bean1 = JSONObject.toBean(json1);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><font size="3"><strong><span>由</span><span><font face="Times New Roman">JSON</font></span></strong><strong><span>生成</span><span><font face="Times New Roman">XML</font></span></strong></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">JSONObject json = new JSONObject(true);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">XMLSerializer xmlSerializer = new XMLSerializer();</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">String xml = xmlSerializer.write(json);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">System.out.println("xml:" + xml);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><font size="3"><span>输出：</span><span><font face="Times New Roman">xml:&lt;?xml version="1.0" encoding="UTF-8"?&gt;</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">&lt;o null="true"/&gt;</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">JSONObject json2 = JSONObject.fromObject("{\"name\":\"json\",\"bool\":true,\"int\":1}");</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">String xml2 = xmlSerializer.write(json2);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">System.out.println("xml2:" + xml2);</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><font size="3"><span>输出：</span><span><font face="Times New Roman">xml2:&lt;?xml version="1.0" encoding="UTF-8"?&gt;</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">&lt;o&gt;&lt;bool type="boolean"&gt;true&lt;/bool&gt;&lt;int type="number"&gt;1&lt;/int&gt;&lt;name type="string"&gt;json&lt;/name&gt;&lt;/o&gt;</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font size="3"><font face="Times New Roman">JSONArray json3 = JSONArray.fromObject("[1,2,3]");</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font size="3"><font face="Times New Roman">String xml3 = xmlSerializer.write(json3);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font size="3"><font face="Times New Roman">System.out.println("xml3:" + xml3);</font></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3"></font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><font size="3"><span><span><font face="Times New Roman"></font></span></span><span>输出：</span><span><font face="Times New Roman">xml3:&lt;?xml version="1.0" encoding="UTF-8"?&gt;</font></span></font></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt"><span><font face="Times New Roman" size="3">&lt;a&gt;&lt;e type="number"&gt;1&lt;/e&gt;&lt;e type="number"&gt;2&lt;/e&gt;&lt;e type="number"&gt;3&lt;/e&gt;&lt;/a&gt;</font></span></p>
<img src ="http://www.blogjava.net/zhoujundi/aggbug/180133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhoujundi/" target="_blank">周俊迪</a> 2008-02-15 22:45 <a href="http://www.blogjava.net/zhoujundi/articles/180133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>