??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩精品一级毛片在线播放 ,茄子视频成人在线,成人在线观看网站http://www.aygfsteel.com/lhjdemail/zh-cnSat, 05 Jul 2025 16:26:00 GMTSat, 05 Jul 2025 16:26:00 GMT60dProperties文g六种Ҏhttp://www.aygfsteel.com/lhjdemail/archive/2007/03/29/107213.html阿健阿健Thu, 29 Mar 2007 06:09:00 GMThttp://www.aygfsteel.com/lhjdemail/archive/2007/03/29/107213.htmlhttp://www.aygfsteel.com/lhjdemail/comments/107213.htmlhttp://www.aygfsteel.com/lhjdemail/archive/2007/03/29/107213.html#Feedback0http://www.aygfsteel.com/lhjdemail/comments/commentRss/107213.htmlhttp://www.aygfsteel.com/lhjdemail/services/trackbacks/107213.html1。用java.util.Propertiescȝload()ҎCZQInputStreamin=lnewBufferedInputStream(newFileInputStream(name));Propertiesp=newProperties();p.load(in);


2。用java.util.ResourceBundlecȝgetBundle()ҎCZQResourceBundlerb=ResourceBundle.getBundle(name,Locale.getDefault());


3。用java.util.PropertyResourceBundlecȝ构造函数示例:InputStreamin=newBufferedInputStream(newFileInputStream(name));ResourceBundlerb=newPropertyResourceBundle(in);


4。用class变量的getResourceAsStream()ҎCZQInputStreamin=JProperties.class.getResourceAsStream(name);Propertiesp=newProperties();p.load(in);


5。用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()ҎCZQInputStreamin=JProperties.class.getClassLoader().getResourceAsStream(name);Propertiesp=newProperties();p.load(in);


6。用java.lang.ClassLoadercȝgetSystemResourceAsStream()静态方法示例:InputStreamin=ClassLoader.getSystemResourceAsStream(name);Propertiesp=newProperties();p.load(in);


补充
Servlet中可以用javax.servlet.ServletContext的getResourceAsStream()ҎCZQInputStreamin=context.getResourceAsStream(path);Propertiesp=newProperties();p.load(in);



阿健 2007-03-29 14:09 发表评论
]]>
金额转换法[转自csdn]http://www.aygfsteel.com/lhjdemail/archive/2007/01/21/95092.html阿健阿健Sat, 20 Jan 2007 17:04:00 GMThttp://www.aygfsteel.com/lhjdemail/archive/2007/01/21/95092.htmlhttp://www.aygfsteel.com/lhjdemail/comments/95092.htmlhttp://www.aygfsteel.com/lhjdemail/archive/2007/01/21/95092.html#Feedback0http://www.aygfsteel.com/lhjdemail/comments/commentRss/95092.htmlhttp://www.aygfsteel.com/lhjdemail/services/trackbacks/95092.htmlstatic String t1 = "零壹贰叁肆伍陆柒捌玖";

static char[] n = { '?, ' ', '?, '? };

static char[] n1 = {'?,'?};

static char end = '?;


public static void print(String value, int pos, boolean b) {
if (pos == 0) {
System.out.print(end);
return;
}
String value2 = value.substring(1, value.length());
int printPos = value.charAt(0) - '0';
if (printPos != 0) {
if (b == true)
System.out.print(t1.charAt(0));
System.out.print(t1.charAt(printPos));
System.out.print(printPos == 0 ? "" : (n[pos % 4] == ' ' ? "": n[pos % 4]));
}
if (pos % 4 == 1 && pos > 1) {
System.out.print(n1[(pos / 4) - 1]);
print(value2, pos - 1,  false);
return;
}
print(value2, pos - 1, printPos == 0 ? true : false);
}

使用Ҏ
print("10010202070", 11, false);
q没看懂留着慢慢看。。?br />哪位高手l添Ҏ释,感激不尽。。。?/p>

阿健 2007-01-21 01:04 发表评论
]]>
JDBCq接数据库经验集?[转]http://www.aygfsteel.com/lhjdemail/archive/2007/01/05/91871.html阿健阿健Thu, 04 Jan 2007 16:35:00 GMThttp://www.aygfsteel.com/lhjdemail/archive/2007/01/05/91871.htmlhttp://www.aygfsteel.com/lhjdemail/comments/91871.htmlhttp://www.aygfsteel.com/lhjdemail/archive/2007/01/05/91871.html#Feedback0http://www.aygfsteel.com/lhjdemail/comments/commentRss/91871.htmlhttp://www.aygfsteel.com/lhjdemail/services/trackbacks/91871.html 无在blogjava看到q张文章Q很全,收藏了?br />Java 数据库连接(JDBCQ由一l用 Java ~程语言~写的类和接口组成。JDBC 为工?数据库开发h员提供了一个标准的 APIQ他们能够用纯Java API 来编写数据库应用E序。然而各个开发商的接口ƈ不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的q接方式?br />一、连接各U数据库方式速查?br />    下面|列了各U数据库使用JDBCq接的方式,可以作ؓ一个手册用?br />
    1
?span lang="EN-US">Oracle8/8i/9i数据库(thin模式Q?span lang="EN-US"> 
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); 
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库?span lang="EN-US">SID 
String user="test"; 
String password="test"; 
Connection conn= DriverManager.getConnection(url,user,password); 

    2?span lang="EN-US">DB2数据?span lang="EN-US"> 
Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance(); 
String url="jdbc:db2://localhost:5000/sample"; //sampleZ的数据库?span lang="EN-US"> 
String user="admin"; 
String password=""; 
Connection conn= DriverManager.getConnection(url,user,password); 

    3?span lang="EN-US">Sql Server7.0/2000数据?span lang="EN-US"> 
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; 
//mydb为数据库 
String user="sa"; 
String password=""; 
Connection conn= DriverManager.getConnection(url,user,password); 

    4
?span lang="EN-US">Sybase数据?span lang="EN-US"> 
Class.forName("com.sybase.jdbc.SybDriver").newInstance(); 
String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDBZ的数据库?span lang="EN-US"> 
Properties sysProps = System.getProperties(); 
SysProps.put("user","userid"); 
SysProps.put("password","user_password"); 
Connection conn= DriverManager.getConnection(url, SysProps); 

    5?span lang="EN-US">Informix数据?span lang="EN-US"> 
Class.forName("com.informix.jdbc.IfxDriver").newInstance(); 
String url = 
"jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver; 
user=testuser;password=testpassword"; //myDB为数据库?span lang="EN-US"> 
Connection conn= DriverManager.getConnection(url); 

    6?span lang="EN-US">MySQL数据?span lang="EN-US"> 
Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
String url ="jdbc:mysql://localhost/myDB?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1" 
//myDB为数据库?span lang="EN-US"> 
Connection conn= DriverManager.getConnection(url); 

    7?span lang="EN-US">PostgreSQL数据?span lang="EN-US"> 
Class.forName("org.postgresql.Driver").newInstance(); 
String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库?span lang="EN-US"> 
String user="myuser"; 
String password="mypassword"; 
Connection conn= DriverManager.getConnection(url,user,password); 


    8、access
数据库直q用ODBC?span lang="EN-US">
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
String url="jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");
Connection conn = DriverManager.getConnection(url,"","");
 Statement stmtNew=conn.createStatement() ;

二、JDBCq接MySql方式
    下面是用JDBCq接MySql的一个小的教E    ?/o:p>

    1、查N动程?br />    MySQL目前提供的java驱动E序为Connection/JQ可以从MySQL官方|站下蝲Qƈ扑ֈmysql-connector-java-3.0.15-ga-bin.jar文gQ此驱动E序为纯java驱动E序Q不需做其他配|?br />
    2、动态指定classpath
    如果需要执行时动态指定classpathQ就在执行时采用Qcp方式。否则将上面?jar文g加入到classpath环境变量中?/font>

    3、加载驱动程?br />try{
    Class.forName(com.mysql.jdbc.Driver);
    System.out.println(Success loading Mysql Driver!);
}catch(Exception e)
{
    System.out.println(Error loading Mysql Driver!);
    e.printStackTrace();
}

    4、设|连接的url
    jdbcQmysqlQ?/localhost/databasename[?pa=va][Qpa=va]

三、以下列Z在用JDBC来连接Oracle数据库时可以使用的一些技巧,q些技巧能够我们更好地发挥系l的性能和实现更多的功能Q系转蝲Q?/font>

  1、在客户端Y件开发中使用Thin驱动E序

  在开发Java软g斚wQOracle的数据库提供了四U类型的驱动E序Q二U用于应用Y件、applets?servlets{客L软gQ另外二U用于数据库中的Java存储q程{服务器端Y件。在客户机端软g的开发中Q我们可以选择OCI驱动E序或Thin 驱动E序。OCI驱动E序利用Java本地化接口(JNIQ,通过Oracle客户端Y件与数据库进行通讯。Thin驱动E序是纯Java驱动E序Q它直接与数据库q行通讯。ؓ了获得最高的性能QOracle在客L软g的开发中使用OCI驱动E序Q这g是正的。但我徏议用Thin驱动E序Q因为通过多次试发现Q在通常情况下,Thin驱动E序的性能都超q了OCI驱动E序?/font>

  2、关闭自动提交功能,提高pȝ性能

  在第一ơ徏立与数据库的q接Ӟ在缺省情况下Q连接是在自动提交模式下的。ؓ了获得更好的性能Q可以通过调用带布值false参数的ConnectioncȝsetAutoCommit()Ҏ关闭自动提交功能Q如下所C:

  conn.setAutoCommit(false);

  值得注意的是Q一旦关闭了自动提交功能Q我们就需要通过调用Connectioncȝcommit()和rollback()Ҏ来h工的方式对事务进行管理?/font>

  3、在动态SQL或有旉限制的命令中使用Statement对象

  在执行SQL命oӞ我们有二U选择Q可以用PreparedStatement对象Q也可以使用 Statement对象。无论多次C用同一个SQL命oQPreparedStatement都只对它解析和编译一ơ。当使用Statement对象Ӟ每次执行一个SQL命oӞ都会对它q行解析和编译。这可能会你认为,使用PreparedStatement对象比用Statement对象的速度更快。然而,我进行的试表明Q在客户端Y件中Q情况ƈ非如此。因此,在有旉限制的SQL操作中,除非成批地处理SQL命oQ我们应当考虑使用 Statement对象?/font>

  此外Q用Statement对象也得编写动态SQL命o更加单,因ؓ我们可以字W串q接在一P建立一个有效的SQL命o。因此,我认为,Statement对象可以使动态SQL命o的创建和执行变得更加单?/font>

  4、利用helper函数对动态SQL命oq行格式?/font>

  在创Z用Statement对象执行的动态SQL命oӞ我们需要处理一些格式化斚w的问题。例如,如果我们惛_Z个将名字O'Reilly插入表中的SQL命oQ则必须使用二个相连的?'”号替换O'Reilly中的?”号。完成这些工作的最好的Ҏ是创Z个完成替换操作的helperҎQ然后在q接字符串心服用公式表达一个SQL命oӞ使用创徏的helperҎ。与此类似的是,我们可以?helperҎ接受一个Date型的|然后让它输出ZOracle的to_date()函数的字W串表达式?/font>

  5、利用PreparedStatement对象提高数据库的M效率

  在用PreparedStatement对象执行SQL命oӞ命o被数据库q行解析和编译,然后被放到命令缓冲区。然后,每当执行同一个PreparedStatement对象Ӟ它就会被再解析一ơ,但不会被再次~译。在~冲Z可以发现预编译的命oQƈ且可以重C用。在有大量用L企业U应用Y件中Q经怼重复执行相同的SQL命oQ用PreparedStatement对象带来的编译次数的减少能够提高数据库的M性能。如果不是在客户端创建、预备、执行PreparedStatementd需要的旉长于StatementdQ我会徏议在除动态SQL命o之外的所有情况下使用PreparedStatement对象?/font>

  6?font color="#ff0000">在成批处理重复的插入或更新操作中使用PreparedStatement对象

  如果成批地处理插入和更新操作Q就能够显著地减它们所需要的旉。Oracle提供的Statement?CallableStatementq不真正地支持批处理Q只有PreparedStatement对象才真正地支持批处理。我们可以?addBatch()和executeBatch()Ҏ选择标准的JDBC批处理,或者通过利用PreparedStatement对象?setExecuteBatch()Ҏ和标准的executeUpdate()Ҏ选择速度更快的Oracle专有的方法。要使用Oracle专有的批处理机制Q可以以如下所C的方式调用setExecuteBatch()Q?br />PreparedStatement pstmt3D null;
try {
((OraclePreparedStatement)
pstmt).setExecuteBatch(30);
...
pstmt.executeUpdate();
}

  调用setExecuteBatch()时指定的值是一个上限,当达到该值时Q就会自动地引发SQL命o执行Q标准的executeUpdate()Ҏ׃被作为批处理送到数据库中。我们可以通过调用PreparedStatementcȝsendBatch ()Ҏ随时传输批处理Q务?/font>

  7、用Oracle locatorҎ插入、更新大对象QLOBQ?/font>

  Oracle的PreparedStatementcM完全支持BLOB和CLOB{大对象的处理,其?Thin驱动E序不支持利用PreparedStatement对象的setObject()和setBinaryStream()Ҏ讄BLOB的|也不支持利用setCharacterStream()Ҏ讄CLOB的倹{只有locator本n中的Ҏ才能够从数据库中获取LOBcd的倹{可以用PreparedStatement对象插入或更新LOBQ但需要用locator才能获取LOB的倹{?i>׃存在q二个问题,因此Q我使用 locator的方法来插入、更新或获取LOB的倹{?/font>

  8、用SQL92语法调用存储q程

  在调用存储过E时Q我们可以用SQL92或Oracle PL/SQLQ由于用Oracle PL/SQLq没有什么实际的好处Q而且会给以后l护你的应用E序的开发h员带来麻烦,因此Q我在调用存储过E时使用SQL92?/font>

  9、用Object SQL对象模式{Ud数据库中

  既然可以Oracle的数据库作ؓ一U面向对象的数据库来使用Q就可以考虑应用程序中的面向对象模式{到数据库中。目前的Ҏ是创建Java bean作ؓ伪装的数据库对象Q将它们的属性映到关系表中Q然后在q些bean中添加方法。尽这样作在Java中没有什么问题,但由于操作都是在数据库之外进行的Q因此其他访问数据库的应用Y件无法利用对象模式。如果利用Oracle的面向对象的技术,可以通过创徏一个新的数据库对象cd在数据库中模仿其数据和操作,然后使用JPublisher{工L成自qJava beancR如果用这U方式,不但Java应用E序可以使用应用软g的对象模式,其他需要共享你的应用中的数据和操作的应用Y件也可以使用应用软g中的对象模式?/font>

  10、利用SQL完成数据库内的操?/font>

  我要向大家介l的最重要的经验是充分利用SQL的面向集合的Ҏ来解x据库处理需求,而不是用Java{过E化的编E语a?/font>

  如果~程人员要在一个表中查找许多行Q结果中的每个行都会查找其他表中的数据,最后,~程人员创徏了独立的 UPDATE命o来成批地更新W一个表中的数据。与此类似的d可以通过在set子句中用多列子查询而在一个UPDATE命o中完成。当能够在单一?SQL命o中完成Q务,何必要让数据在网上流来流ȝQ我用户认真学习如何最大限度地发挥SQL的功能?



阿健 2007-01-05 00:35 发表评论
]]>
《大腕》IT?http://www.aygfsteel.com/lhjdemail/archive/2007/01/04/91745.html阿健阿健Thu, 04 Jan 2007 06:16:00 GMThttp://www.aygfsteel.com/lhjdemail/archive/2007/01/04/91745.htmlhttp://www.aygfsteel.com/lhjdemail/comments/91745.htmlhttp://www.aygfsteel.com/lhjdemail/archive/2007/01/04/91745.html#Feedback1http://www.aygfsteel.com/lhjdemail/comments/commentRss/91745.htmlhttp://www.aygfsteel.com/lhjdemail/services/trackbacks/91745.html《大腕》IT?
     转来的,看得W死了,其是那D?pȝq_得是J2EEQh家竞争对手除了C++是JAVA,
     你要用一.NET都不好意思和别h打招呹{?

                  一定得是N层结构,
     层数多好Q层了用户会误会我们不重视Q?br />     什么数据访问层呀Q实体控制层啊,能给他加上的全加上?br />    
     E序员一定都得是老鸟Q?0以下基本不考虑Q?br />     q得清一色的外企I降兵,
     都有10q以上编E经验的那种Q用q的语言多好Q?br />     ~程都不带查MSDN的,牛吧Q?br />     E序员个个都配IBMW记本,
     CPU?G以上的,内存盘和屏q都要最大的Q?br />     扩展槽别剩下Q能插上的全插上?br />     能安的操作系l全安上Q开Z屏幕上就一堆系l等你选,
     倍有面子Q?br />    
     pȝq_得是J2EEQh家竞争对手除了C++是JAVA,
     你要用一.NET都不好意思和别h打招呹{?br />     你说q样的系l设计出来得卖多钱Q?br />     我觉得怎么也得100万吧Q?br />     100?那是单机版!
     1000万vQ?br />     你还别嫌太贵Q还不免实施服务贏V?br />     你得研究有钱用户得心理,
     愿意?000万买q套软g用的Q?br />     Ҏ不在乎再多花上几百万Q?br />    
     什么叫软g泡沫你知道么Q?br />     软g泡沫是做都做最复杂的,
     用就得用最늚Q还得特隄Q显得用hq高?br />     所以我们搞软g的口号就是:
     不求好用Q但求费?



阿健 2007-01-04 14:16 发表评论
]]>
在JSP中?Microsoft JDBC Driver q接SQL Server2000[转][虽简单留下脚印]http://www.aygfsteel.com/lhjdemail/archive/2007/01/04/91666.html阿健阿健Wed, 03 Jan 2007 16:30:00 GMThttp://www.aygfsteel.com/lhjdemail/archive/2007/01/04/91666.htmlhttp://www.aygfsteel.com/lhjdemail/comments/91666.htmlhttp://www.aygfsteel.com/lhjdemail/archive/2007/01/04/91666.html#Feedback0http://www.aygfsteel.com/lhjdemail/comments/commentRss/91666.htmlhttp://www.aygfsteel.com/lhjdemail/services/trackbacks/91666.html q是有点用的Q以备不时之需

1. 安装Microsoft JDBC Driver
勿庸多言Q按“下一步”完成安装?

2. 配置
先讲一下环境变量的作用Q?/p>

JAVA_HOME变量Q用于设定JAVA开发包所在目?br />TOMCAT_HOME变量Q用于设定TOMCAT伺服器所在目?/p>

CLASSPATH变量Q被~译的java或jsp文g中import一些类库(如java.io.*, java.lang.*{),当编译程序javac.exe~译java或jsp文gӞ必须要知道这些类库所在\径。所以,CLASSPATH是用于设定javacd
的搜索\径,通常需要在CLASSPATH中设|? %JAVA_HOME%\lib。当安装完Microsoft JDBC Driver?q需要加? %JDBC_INSTALL_PATH%\lib\msbase.jar;%JDBC_INSTALL_PATH%\lib\mssqlserver.jar;%JDBC_INSTALL_PATH%\msutil.jar
注意Q?JDBC_INSTALL_PATH%是安装Microsoft JDBC Driver的目录,例如Q设|这个环境变量JDBC_INSTALL_PATH = "c:\program files\microsoft jdbc driver"

path变量: 用于讄java.exeQ执行已~译后的classQ? javac.exeQ编译java文g为classQ等执行文g的\? 例如Q可以在dos控制C直接键入javac.exeQ而不用切换到javac.exe所在目录再执行javac.exe?/p>

3. 要点
一定要记得在安装完成Microsoft JDBC后,安装目录中的lib目录下三个jar文gQ?br />msbase.jar, mssqlserver.jar, msutil.jar拯到Tomcat目录下common\lib目录下,之后Q?br />必须重新启动TomcatQ这样做的目的是Qjsp面在编译过E中不会出现找不到sql server drivercd的问?

但我实在是不明白Q?JAVA_HOME%\lib已被讄为默认的库\径,当我把Microsoft JDBC Driver的三个jar文gQmsbase.jar,mssqlserver.jar,msutil.jar拯?JAVA_HOME%lib中后Q?JAVA_HOME%\jre\lib也作了测试,q且讄了相应的CLASSPATHQ结果一PQ然后运行jsp面Q却q仍然提C找不到驱动E序cd?br />NQTOMCAT只识别自已的common\lib目录下的cdQ?/p>

4. q接SQL Server 2000的JSP代码
<%@ page import="java.lang.*, java.io.*, java.sql.*, java.util.*" contentType="text/html; charset=EUC_CN" %>
<html>

<body>

<%

   Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

   String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=OA"; // OA是数据库名称

   String user="sa";

   String password="";

   Connection conn= DriverManager.getConnection(url,user,password);

   Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

   String sql="select * from MEMBERS_INFO"; // MEMBERS_INFO是表?/p>

   ResultSet rs=stmt.executeQuery(sql);

   while(rs.next())

   {

%>

       您的W一个字D内容ؓQ?lt;%=rs.getString(1)%>

       您的W二个字D内容ؓQ?lt;%=rs.getString(2)%>

<%

   }

%>

<%out.print("数据库操作成功,恭喜?);%>

<%

   rs.close();

   stmt.close();

   conn.close();

%>

</body>

</html>



阿健 2007-01-04 00:30 发表评论
]]>
վ֩ģ壺 | | | | ƶ| | | ľ| ƽ| ɽ| ֽ| Զ| | | ָ| ӱʡ| | | | | | Ͳ| | ̨ɽ| | ɽ| տ| | ɽ| | | | ڳ| | Զ| Դ| | | ־| | ֬|