??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲综合精品成人,亚洲中久无码不卡永久在线观看,国产成人精品曰本亚洲79renhttp://m.tkk7.com/yutian727/zh-cnSun, 11 May 2025 00:00:31 GMTSun, 11 May 2025 00:00:31 GMT60loadrunner监控linux和weblogic安装文档http://m.tkk7.com/yutian727/archive/2008/02/25/181932.html牛宝?/dc:creator>牛宝?/author>Mon, 25 Feb 2008 03:10:00 GMThttp://m.tkk7.com/yutian727/archive/2008/02/25/181932.htmlhttp://m.tkk7.com/yutian727/comments/181932.htmlhttp://m.tkk7.com/yutian727/archive/2008/02/25/181932.html#Feedback0http://m.tkk7.com/yutian727/comments/commentRss/181932.htmlhttp://m.tkk7.com/yutian727/services/trackbacks/181932.html       很久没上来活动了(jin)Q一来没什么新的学?fn)东西,q一q有些堕落了(jin)Q二来嘛Q工作就是重复,可能是太W了(jin)Q没什么新的领(zhn)?br />        不过q两天有意思了(jin)Q我学习(fn)?jin)一下压力测试的东西QloadRunnerQ以前听同事们说q,感觉是个很有意思的东西Q可是一直没有机?x)学。现在好?jin),l别人做?jin)回助手Q也?jin)解了(jin)一下loadRunner的一些用?br />        不想在这里讨Z用,我还?sh)够资格Q讲些安装吧Q说一下如何用lr来监控linux和weblogicQ这可是我自q安装?j)得哦?br />         对linux的安装有些来自网上,出处有些C清了(jin)Q反正查?jin)很多,可是多少有些问题Q我做了(jin)下说明,可以参考?br />      

一、loadrunner监控linux安装文档

1Q安装rshQ和rsh-server两个服务包?br /> a.    卸蝲rsh
rpm –q rsh----------查看版本?/p>

说明Q如果版本存在,则直接安装rpc.rstatd-4.0.1.tar.gz
   如果版本不存在,则在linux安装包下找rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm
   可能版本不一_(d)但是均可使用

BQ安?/p>

rpm –ivh rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm


2Q?下蝲q安装rstatdQ这个包在我的共享目录下也有Q?br /> gunzip rpc.rstatd-4.0.1.tar.gz

tar –cvf rpc.rstatd-4.0.1.tar

./configure ---配置
make ---~译

说明Qa.如果在linux下不能解压,则在window下解压,然后拷到l(f)inux下,目录不定Q用户ؓ(f)root用户
   b.修改configure文g的用权?br />      chmod 777 configure
      c.按照上面的步骤操?/p>

3?打开/etc/xinetd.conf
里面内容是:(x)
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{
        instances               = 60
        log_type                = SYSLOG authpriv
        log_on_success                = HOST PID
        log_on_failure                = HOST
        cps                        = 25 30
}
includedir /etc/xinetd.d

4Q重启xinetdQ?/p>

A:
service xinetd reload

说明Q可能会(x)有提C出玎ͼ不用处理Q直接进入下一?/p>

6Q在启动rstatdQ?br />   q入你rpc.rstatd-4.0.1.tar.gz的解压文件目?br />   rpc.rstatd

7.查看rstatd是否启动Q?/p>

rpcinfo –p

如果能看刎ͼ(x)  

       100001    5   udp    618 rstatd

    100001    3   udp    618 rstatd

    100001    2   udp    618 rstatd

    100001    1   udp    618 rstatd

p明rstatd服务已经启动。可以用LRȝ视了(jin)?/p>

 

二、loadrunner监控weblogic8.1

1.拯weblogic.jar?{lr_home}/classes下,同时Q删除jmxri.jar或者修改jmxri.jarZQ何名U?br /> 2.修改${lr_home}/dat/monitors下的WebLogicMon.ini文gQ内容如下:(x)
  原始内容为:(x)JVM=javaw.exe JavaVersion=1.4;JavaVendor=Sun Microsystems Inc.
 修改后内容ؓ(f)QJVM=D:\bea\jdk141_03\bin\javaw.exe JavaVersion=1.4;JavaVendor=Sun Microsystems Inc.
 其中D:\bea\jdk141_03\bin\javaw.exe己本地weblogic的jdk所在位|?br />  javaVersion为weblogic所用的jdk版本?br />  
 在网上有的要求修改Weblogic=weblogic.jar Port=1112Q要求把PORT修改?001Q但在这里的实际安装q程中,没有做修攏V?br /> 3.配置如何监控lr的weblogic(jmx)
 打开weglogic(jmx),d度量
 其中监控的计机名称为:(x)ip:7001Q如192.168.1.88:7001Q^台选择所写ip的OS
  然后点击下面的资源度量的dQ输入登录的用户名和密码Q此处的用户名和密码为:(x)ip所在OS上的weblogic的登录用户名和密?br />  在点ȝ定后?x)出现需要监控的资源信息Q可以选择自己感兴的斚wq行监控



    



]]>
java.lang.String中,match()的用法,即String.match(String pattern)http://m.tkk7.com/yutian727/archive/2007/12/03/164959.html牛宝?/dc:creator>牛宝?/author>Mon, 03 Dec 2007 10:04:00 GMThttp://m.tkk7.com/yutian727/archive/2007/12/03/164959.htmlhttp://m.tkk7.com/yutian727/comments/164959.htmlhttp://m.tkk7.com/yutian727/archive/2007/12/03/164959.html#Feedback7http://m.tkk7.com/yutian727/comments/commentRss/164959.htmlhttp://m.tkk7.com/yutian727/services/trackbacks/164959.html阅读全文

]]>
JAVA 处理旉 - java.sql.Date、java.util.Date与数据库中的Date字段的{换方法[转]http://m.tkk7.com/yutian727/archive/2007/11/12/159888.html牛宝?/dc:creator>牛宝?/author>Mon, 12 Nov 2007 02:16:00 GMThttp://m.tkk7.com/yutian727/archive/2007/11/12/159888.htmlhttp://m.tkk7.com/yutian727/comments/159888.htmlhttp://m.tkk7.com/yutian727/archive/2007/11/12/159888.html#Feedback2http://m.tkk7.com/yutian727/comments/commentRss/159888.htmlhttp://m.tkk7.com/yutian727/services/trackbacks/159888.html

Q、如何将java.util.Date转化为java.sql.Date?
转化Q?br />
java.sql.Date sd;
java.util.Date ud;
//initialize the ud such as ud = new java.util.Date();

sd = new java.sql.Date(ud.getTime());

Q、如果要插入到数据库q且相应的字Dؓ(f)Datecd
那么可以用PreparedStatement.setDate(int ,java.sql.Date)Ҏ(gu)
其中的java.sql.Date可以用上面的Ҏ(gu)得到

也可以用数据库提供TO_DATE函数
比如 现有 ud
TO_DATE(new SimpleDateFormat().format(ud,"yyyy-MM-dd HH:mm:ss"),
"YYYY-MM-DD HH24:MI:SS")
注意java中表C格式和数据库提供的格式的不?br />

一个实际的例子

sql="update tablename set timer=to_date('"+t+"','yyyymmddhh24miss') where ....."

q里的t为变量ؓ(f)cM:20051211131223

 

Q、如何将"yyyy-mm-dd"格式的字W串转换为java.sql.Date

Ҏ(gu)Q?/p>

SimpleDateFormat bartDateFormat =  
        new SimpleDateFormat("yyyy-MM-dd");  
       String dateStringToParse = "2007-7-12";  
       try {  
        java.util.Date date = bartDateFormat.parse(dateStringToParse);  
        java.sql.Date sqlDate = new java.sql.Date(date.getTime());
        System.out.println(sqlDate.getTime());  
       }  
       catch (Exception ex) {  
        System.out.println(ex.getMessage());  
       }

------------------------------------------------------------
Ҏ(gu)Q?br />        String     strDate     =     "2002-08-09";   
       StringTokenizer     st     =     new     StringTokenizer(strDate,     "-");   
       java.sql.Date     date     =     new     java.sql.Date(Integer.parseInt(st.nextToken()),
                Integer.parseInt(st.nextToken()),
                 Integer.parseInt(st.nextToken()));

  
java.util.Date和java.sql.Date的异?/div>
java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子c(包装c)(j)?

        但是Z么java.sql.Datecd的值插入到数据库中Date字段中会(x)发生数据截取呢?

        java.sql.Date是ؓ(f)?jin)配合SQL DATE而设|的数据cd?#8220;规范?#8221;的java.sql.Date只包含年月日信息Q时分秒毫秒都会(x)清零。格式类|(x)YYYY-MM-DD。当我们调用ResultSet的getDate()Ҏ(gu)来获得返回值时QjavaE序?x)参?规范"的java.sql.Date来格式化数据库中的数倹{因此,如果数据库中存在的非规范化部分的信息会(x)被劫取?/div>
        在sun提供的ResultSet.java中这样对getDateq行注释的:(x)
       Retrieves the of the designated column in the current row of this <code>ResultSet</code> object as a “java.sql.Date” object in the Java programming language.

         同理。如果我们把一个java.sql.Date值通过PrepareStatement的setDateҎ(gu)存入数据库时QjavaE序?x)对传入的java.sql.Date规范化,非规范化的部分将?x)被劫取。然而,我们java.sql.Date一般由java.util.Date转换q来Q如Qjava.sql.Date sqlDate=new java.sql.Date(new java.util.Date().getTime()).
昄Q这栯{换过来的java.sql.Date往往不是一个规范的java.sql.Date.要保存java.util.Date的精|
我们需要利用java.sql.Timestamp.
Calendar

Calendar   calendar=Calendar.getInstance();  
//获得当前旉Q声明时间变?nbsp; 
int   year=calendar.get(Calendar.YEAR);  
//得到q?br /> int   month=calendar.get(Calendar.MONTH);  
//得到月,但是Q月份要加上1  
month=month+1;
int   date=calendar.get(Calendar.DATE);  
//获得日期  
String   today=""+year+"-"+month+"-"+date+"";


]]>[转]JSF的学?fn)笔记提U?/title><link>http://m.tkk7.com/yutian727/archive/2007/09/28/149172.html</link><dc:creator>牛宝?/dc:creator><author>牛宝?/author><pubDate>Fri, 28 Sep 2007 08:03:00 GMT</pubDate><guid>http://m.tkk7.com/yutian727/archive/2007/09/28/149172.html</guid><wfw:comment>http://m.tkk7.com/yutian727/comments/149172.html</wfw:comment><comments>http://m.tkk7.com/yutian727/archive/2007/09/28/149172.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.tkk7.com/yutian727/comments/commentRss/149172.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yutian727/services/trackbacks/149172.html</trackback:ping><description><![CDATA[最q开始学?fn)JSF?jin),有网上找了(jin)一个学?fn)的提纲Q以Z?br /> <br /> <strong>使用JSF</strong><br /> 一、入?br /> 1. hello world<br /> 2. Navigation<br /> 3. Navigation rules configuration<br /> 4. JSF Expression Language<br />    #{param.name}   隐含对象<br /> 5. I18N<br /> <br /> 二、Managed Beans<br /> 1. Backing BeanQGlue BeanQ?br /> 2. Beans的状态与讄<br /> 3. Beans上的List、Map<br /> <br /> 三、数据{换与验证<br /> 1. 标准转换?br />    <f: convertDateTime><br />    <h: message for="dateField" style="color: red"/><br /> 2. 自定义{换器<br /> 3. 标准验证?br />    语法(g)验、语意检?br />    <f: validateLength minimum="6"/><br /> 4. 自定义验证器<br /> 5. 错误信息处理<br />    messages.properties<br /> 6. 自定义{换、验证标{?br />    Tag Library<br /> <br /> 四、事件处?br /> 1. 动作事g<br />    ActionEvent<br />    actionListener<br /> 2. x(chng)事g<br />    immediate="true"<br /> 3. 值变?sh)g<br />    valueChangeListener<br /> 4. phaseQ分阶段Q事?br /> <br /> <br /> <strong>JSF标签</strong><br /> 一、标{օ?br /> 1. 介JSF标准标签<br /> 2. 输出cL{?br />    1) outputLabel<br />    2) outputLink<br />    3) outputFormat<br />    4) outputText<br /> 3. 输入cL{?br />    1) inputText<br />    2) inputTextarea<br />    3) inputSecret<br />    4) inputHidden<br /> 4. 命o(h)cL{?br />    1) commandButton<br />    2) commandLink<br /> 5. 选择cL{?br />    1) <h: selectBooleanCheckbox><br />    2) <h: selectOneRadio>?lt;h: selectOneListbox>?lt;h: selectOneMenu><br />    3) <h: selectManyCheckbox>?lt;h: selectManyListbox>?lt;h: selectManyMenu><br />    4) <f: selectItem>?lt;f: selectItems><br /> <br /> 二、表格处?br /> 1. 单的表格<br />    <h: dataTable>?lt;h: column><br /> 2. 表头、表?br />    <f: facetname="header"><br />    <f: facetname="footer"><br />    CSS<br /> 3. TableModelcd<br />    数组<br />    java.util.List<br />    java.sql.ResultSet<br />    javax.servlet.jsp.jstl.sql.Result<br />    javax.faces.model.DataModel<br /> <br /> <br /> <br /> 参考资料:(x)<br /> <a >http://caterpillar.onlyfun.net/Gossip/JSF/JavaServerFaces.htm</a> <img src ="http://m.tkk7.com/yutian727/aggbug/149172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yutian727/" target="_blank">牛宝?/a> 2007-09-28 16:03 <a href="http://m.tkk7.com/yutian727/archive/2007/09/28/149172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>利用Jakarta Commonslgbeanutils、dbutils化JDBC数据库操作(二)(j)http://m.tkk7.com/yutian727/archive/2007/09/20/146714.html牛宝?/dc:creator>牛宝?/author>Thu, 20 Sep 2007 03:09:00 GMThttp://m.tkk7.com/yutian727/archive/2007/09/20/146714.htmlhttp://m.tkk7.com/yutian727/comments/146714.htmlhttp://m.tkk7.com/yutian727/archive/2007/09/20/146714.html#Feedback1http://m.tkk7.com/yutian727/comments/commentRss/146714.htmlhttp://m.tkk7.com/yutian727/services/trackbacks/146714.html二、Jakarta Commons dbutilsQ?/strong>
    用JDBC API时最令h讨厌的就是异常处理,也很?ch)琐Q而且很容易出错,本h曾考虑q利用模板进行处理,后来看到?jin)dbutilsQ之后就采用那个dbutilsQ采用模板的方式各位朋友可以参考SpringQSpring的JdbcTemplate不灵z而强大,呵呵Q说句闲话,实在太佩服Rod Johnson?jin),Rod Johnson真的很o(h)人尊敬?br />     Dbutils的QueryRunner把大多数与关闭资源相关的装hQ另外,你也可以使用DbUtilsq行关闭Q当然DbUtils提供的功能当然不止这些,它提q了(jin)几个常用的静(rn)态方法,除了(jin)上述的关闭资源外QDbUtils. commitAndClose(Connection conn)q提供事务提?qing)等操作?br /> q是以一个例子来说说吧,毕竟我不是搞业务的,嘴巴吧嗒吧哒不h啊,呵呵?br />     Z(jin)和采用Beanutils更好的进行对比,q个例子q是实现同样的功能,数据库同样采用前一文章中提到的publish?br /> 同样的,用你喜欢的编辑器建立一个类DbutilsJDBCTestQ示例代码如下所C?
package cn.qtone.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapListHandler;
public class DbutilsJDBCTest{
    public static void main(String[] args) {
        Connection conn = null;
        String jdbcURL = "jdbc:mysql://127.0.0.1:3306/publish?useUnicode=true&characterEncoding=GBK";
        String jdbcDriver = "com.mysql.jdbc.Driver";
        try {
            DbUtils.loadDriver(jdbcDriver);
            // Username "root". Password "root"
            conn = DriverManager.getConnection(jdbcURL, "root", "root");
            QueryRunner qRunner = new QueryRunner();
            System.out.println("***Using MapListHandler***");
            //以下部分代码采用Map存储方式Q可以采用Bean的方式代替进行处?br />             List lMap = (List) qRunner.query(conn,
                    "select title,authors  from books", new MapListHandler());
            //以下是处理代码,可以抽取出来
System.out.println("title ------------- authors ");
                for (int i = 0; i < lMap.size(); i++) {
                        Map vals = (Map) lMap.get(i);
                        System.out.println(vals.get("title")+"-------------"+ vals.get("authors"));
                }
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            DbUtils.closeQuietly(conn);
        }
    }
}

怎么?是不是比采用Beanutils的ResultSetDynaTrial和RowSetDynaClass好多?jin)?采用Beanutils令h隄的是关闭那些资源以及(qing)处理那些异常Q而这里采用Dbutils昄代码量减了(jin)很多?br /> 上例在处理结果集Ӟ它把数据库中的每一行映成一个MapQ其中列名作为KeyQ该列对应的g为Value存放Q查询的所有的数据一h在一个List里,然后q行处理Q当?dng)一个更明智的处理是直接q回List然后再单独进行处理?br /> 事实上上例返回的l果集中的每一行不必放在一个Map里,你可以放在一个Bean里,当然如果你真的很懒,你也可以使用Beanutils的LazyDynaClass和LazyDynaBeanQ不q也许没有必要那么做Q至于原因请看下文?br />
如果使用Bean而不是用MapQ那么,你也?dng)R要徏立一个BeanQ如下:(x)
package cn.qtone.test;
public class Book {
    public int id;
    public String title;
    public String authors ;
    public StudentBean() {
    }
    public String getAuthors() {
        return authors;
    }
    public void setAuthors(String authors) {
        this.authors = authors;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
}

然后单修改一下DbutilsJDBCTest 中的部分代码卛_Q代替之后的源代码如下:(x)

package cn.qtone.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

public class DbutilsJDBCTest{
    public static void main(String[] args) {
        Connection conn = null;
        String jdbcURL = "jdbc:mysql://127.0.0.1:3306/publish?useUnicode=true&characterEncoding=GBK";
        String jdbcDriver = "com.mysql.jdbc.Driver";
        try {
            DbUtils.loadDriver(jdbcDriver);
            // Username "root". Password "root"
            conn = DriverManager.getConnection(jdbcURL, "root", "root");
            QueryRunner qRunner = new QueryRunner();
            System.out.println("***Using BeanListHandler ***");
            //以下部分代码采用Map存储方式Q可以采用Bean的方式代替进行处?br /> List lBeans = (List) qRunner.query(conn," select title,authors from books ", new BeanListHandler(Book.class));
    //以下是处理代码,可以抽取出来
System.out.println("title ------------- authors ");
    for (int i = 0; i < lBeans.size(); i++) {
            Book vals = (Book) lBeans.get(i);    
          System.out.println(vals.getTitle ()+"-------------"+ vals. getAuthors ());
                }
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            DbUtils.closeQuietly(conn);
        }
    }
}
    q两U法输出的结果应该是一L(fng)。两U处理方式都差不多,但我更愿意采用第一U,因ؓ(f)W一U少写一个beanQ而且我测试过采用Map的方式即W一U方式性能要好的多Q采用Bean性能比较低可能是因ؓ(f)采用反射的缘故,采用反射的东东性能和不采用反射的还是有点差距。也是这个原因,不推荐采用LazyDynaClass和LazyDynaBeanQ因为采用这二者是在运行期动态创建BeancdBean属性,然后再创建Bean对象的,其性能可想而知?jin)(不过我没有测试过啊,所以我说这个话可说是没有根据的Q感兴趣的朋友自己测试一下,记得告诉我结果哦Q呵呵)(j)Q除?jin)MapListHandler以及(qing)BeanListHandler之外QDButilsq提供了(jin)其他的HandlerQ如果这些不能满你的需求,你也可以自己实现一个Handler?br />     最后,也是最大的体会(x),也许是最大的收获吧,那就?对于每一个项?在根据每一个需求获取相应解x(chng)案时,先寻扑ּ源组?看是否已l有满某些功能需求的开源组?如果没有,再考虑自主开发或者向W三方购乎ͼ否则量采用开源组?
    请尽量n用开源的力Q尽情的拥抱开源吧?br />

]]>
利用Jakarta Commonslgbeanutils、dbutils化JDBC数据库操作(一Q?/title><link>http://m.tkk7.com/yutian727/archive/2007/09/20/146712.html</link><dc:creator>牛宝?/dc:creator><author>牛宝?/author><pubDate>Thu, 20 Sep 2007 03:08:00 GMT</pubDate><guid>http://m.tkk7.com/yutian727/archive/2007/09/20/146712.html</guid><wfw:comment>http://m.tkk7.com/yutian727/comments/146712.html</wfw:comment><comments>http://m.tkk7.com/yutian727/archive/2007/09/20/146712.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.tkk7.com/yutian727/comments/commentRss/146712.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yutian727/services/trackbacks/146712.html</trackback:ping><description><![CDATA[好久没有写过blog?jin),因?f)q段旉做的也就是这些,job,dblink,procedure,view{等吧,目刚刚做完Q我有幸调到金融行情的服务器部门工作Q现在正在学?fn)JAKARTA的东西.现在|上找了(jin)一下相兌料,现放在此处,以后常学?br /> <br /> 关键字:(x)beanutils、dbutils、JDBC 数据?br /> 摘要Q本文简单介l了(jin)Jakarta Commons旗下beanutils、dbutils在基于JDBC API数据库存取操作中的运用?br />    虽然现在出现?jin)很多ORM框架Q可是还是有很多朋友也许q在使用JDBCQ就像我现在一P除了(jin)学习(fn)的时候在使用Hibernate、SpringcMq些优秀的框Ӟ工作时一直都在用JDBC。本文就单介l一下利用Jakarta Commons旗下beanutils、dbutils化JDBC数据库操作,以抛砖引玉,希望对像我一样在使用JDBC的朋友有所帮助?br />     下面分两部分简单介lbeanutils、dbutils在基于JDBC API数据库存取操作中的运用。第一部分显介lbeanutils在JDBC数据库存取操作中的运用,W二部分介绍dbutils在JDBC数据库存取操作中的运用,最后看看他们的优缺点,谈谈本h在项目运用过E中对他们的一点心(j)得体?x),仅供参考,其中有错误的地方希望大虾不吝赐教Q大家多多交共同进步?br /> 一、Jakarta Commons beanutils<br />     Beanutils是操作Bean的锐利武器,其提q的BeanUtils工具cd以简单方便的d或设|Bean的属性,利用DynapdQ还可以在运行期创徏BeanQ符合懒人的?fn)惯Q正如LazyDynaBeanQLazyDynaClass一P呵呵。这些用法已l有很多文章提及(qing)Q也可以参考apache的官Ҏ(gu)档?br />     对于直接利用JDBC API讉K数据库时Q这里针对的是返回结果集ResultSet的查询selectQ,大多数都是采用两U方式,一U是取出q回的结果集的数据存?sh)Map中,另一U方式是Bean里。针对第二种方式QBeanutils里提供了(jin)ResultSetDynaClassl合DynaBean以及(qing)RowSetDynaClassl合DynaBean来简化操作。下面用以个单的例子展示一下beanutils的这两个cdJDBC数据库操作中的运用?br />     请在本机建立数据库publishQ我用的是MySQLQ在publish数据库中建立表book,脚本如下Q?br /> CREATE TABLE book(<br />   id int(11) NOT NULL auto_increment,<br />   title varchar(50) character set latin1 NOT NULL,<br />   authors varchar(50) character set latin1 default NULL, <br />   PRIMARY KEY  (id)<br /> ) <br /> <br />     然后用你喜欢的编辑器建立一个类BeanutilsJDBCTestQ我们先用ResultSetDynaClass来处理,然后再用RowSetDynaClass来实现同L(fng)c,之后看看他们之间有什么不同,用ResultSetDynaClass处理的源代码如下所C?<br />     然后用你喜欢的编辑器建立一个类BeanutilsJDBCTestQ我们先用ResultSetDynaClass来处理,然后再用RowSetDynaClass来实现同L(fng)c,之后看看他们之间有什么不同,用ResultSetDynaClass处理的源代码如下所C?<br /> package cn.qtone.test;<br /> <br /> import java.sql.Connection;<br /> import java.sql.DriverManager;<br /> import java.sql.ResultSet;<br /> import java.sql.Statement;<br /> import java.util.Iterator; <br /> import org.apache.commons.beanutils.DynaBean;<br /> import org.apache.commons.beanutils.PropertyUtils;<br /> import org.apache.commons.beanutils.ResultSetDynaClass; <br /> public class BeanutilsJDBCTest{<br />        public static void main(String[] args) {<br />               Connection con = null;<br />               Statement st = null;<br />               ResultSet rs = null;<br />               try {<br />                      Class.forName("com.mysql.jdbc.Driver");<br />                      String url = "jdbc:mysql://127.0.0.1:3306/publish?useUnicode=true&characterEncoding=GBK";<br />                      con = DriverManager.getConnection(url, "root", "hyys");<br />                      st = con.createStatement();<br />                      rs = st.executeQuery("select * from book");<br />                      ResultSetDynaClass rsDynaClass = new ResultSetDynaClass(rs);<br />                      Iterator itr = rsDynaClass.iterator();<br />                      System.out.println("title-------------authors");<br />                      while (itr.hasNext()) {<br />                             DynaBean dBean = (DynaBean) itr.next();<br />                             System.out.println(PropertyUtils.getSimpleProperty(dBean,"title")+ "-------"+ PropertyUtils.getSimpleProperty(dBean, "authors"));<br /> <br />                      }<br />               } catch (Exception e) {<br />                      e.printStackTrace();<br />               } finally {<br />                      try {<br />                             if (rs != null) {<br />                                    rs.close();<br />                             }<br />                             if (st != null) {<br />                                    st.close();<br />                             }<br />                             if (con != null) {<br />                                    con.close();<br />                             }<br />                      } catch (Exception e) {<br />                             e.printStackTrace();<br />                      }<br />               }<br />        }<br /> } <br /> <br /> 用RowSetDynaClass处理的源代码如下所C? <br /> <br /> package cn.qtone.test; <br /> <br /> import java.sql.Connection;<br /> import java.sql.DriverManager;<br /> import java.sql.ResultSet;<br /> import java.sql.Statement;<br /> import java.util.Iterator;<br /> import java.util.List; <br /> import org.apache.commons.beanutils.DynaBean;<br /> import org.apache.commons.beanutils.PropertyUtils;<br /> import org.apache.commons.beanutils.RowSetDynaClass; <br /> <br /> public class BeanutilsJDBCTest{<br />        public static void main(String[] args) {<br />               List rsDynaClass = rsTest();<br />               System.out.println("title ------------- authors ");<br />               Iterator itr = rsDynaClass.iterator();<br />               while (itr.hasNext()) {<br />                      DynaBean dBean = (DynaBean) itr.next();<br />                      try {<br />                             System.out.println(PropertyUtils.getSimpleProperty(dBean,"name")  + "-----"+ PropertyUtils.getSimpleProperty(dBean, "mobile"));<br />                      } catch (Exception e) {<br />                             // TODO 自动生成 catch ?br />                             e.printStackTrace();<br />                      }<br />               }<br />        } <br />        private static List rsTest() {<br />               Connection con = null;<br />               Statement st = null;<br />               ResultSet rs = null;<br />               try {<br />                      Class.forName("com.mysql.jdbc.Driver");<br />                      String url = "jdbc:mysql://127.0.0.1:3306/publish?useUnicode=true&characterEncoding=GBK";<br />                      con = DriverManager.getConnection(url, "root", "hyys");<br />                      st = con.createStatement();<br />                      rs = st.executeQuery("select * from book");<br />                      RowSetDynaClass rsdc = new RowSetDynaClass(rs);<br />                      return rsdc.getRows();<br />               } catch (Exception e) {<br />                      e.printStackTrace();<br />               } finally {<br />                      try {<br />                             if (rs != null) {<br />                                    rs.close();<br />                             }<br />                             if (st != null) {<br />                                    st.close();<br />                             }<br />                             if (con != null) {<br />                                    con.close();<br />                             }<br />                      } catch (Exception e) {<br />                             e.printStackTrace();<br />                      }<br />               }<br />               return null;<br />        }<br /> } <br /> <br />      q两个方法输出的l果应该是一L(fng)。但是很昄W二U方式比W一U方式要好,它把数据讉K部分抽取出来攑ֈ一个方法中Q显得简单清晰?br />      其实在利用ResultSetDynaClassӞ必须在ResultSet{数据库资源关闭之前Q处理好那些数据Q你不能在资源关闭之后用DynaBeanQ否则就?x)抛出异常,异常是说不能在ResultSet之后存取数据Q具体的异常名我也忘?sh)(jin)?j)Q当然你也可以采用以前的方式一个一个的把数据放到Map里,如果你一定要那样做,q是别用BeanutilsQ因没带l你什么好处。M利用ResultSetDynaClass你的E序的扩展性非帔R好?br />     从第二中方式可以看出Q利用RowSetDynaClass可以很好的解决上qResultSetDynaClass遇到的问题,RowSetDynaClass的getRows()Ҏ(gu)Q把每一行封装在一个DynaBean对象里,然后Q把说有的行攑ֈ一个List里,之后你就可以对返回的List里的每一个DynaBeanq行处理Q此外对于DynaBean你还可以采用标准的get/set方式处理Q当然你也可以用PropertyUtils. getSimpleProperty(Object bean, String name)q行处理?br />     从上面的分析中,你应该可以决定你应该使用ResultSetDynaClassq是RowSetDynaClass?jin)?br /> <br /> <br /> 未完待箋(hu)……<br /> <img src ="http://m.tkk7.com/yutian727/aggbug/146712.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yutian727/" target="_blank">牛宝?/a> 2007-09-20 11:08 <a href="http://m.tkk7.com/yutian727/archive/2007/09/20/146712.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>存储q程生成临时表用从(f)时表中取数据http://m.tkk7.com/yutian727/archive/2007/07/06/128617.html牛宝?/dc:creator>牛宝?/author>Fri, 06 Jul 2007 08:37:00 GMThttp://m.tkk7.com/yutian727/archive/2007/07/06/128617.htmlhttp://m.tkk7.com/yutian727/comments/128617.htmlhttp://m.tkk7.com/yutian727/archive/2007/07/06/128617.html#Feedback4http://m.tkk7.com/yutian727/comments/commentRss/128617.htmlhttp://m.tkk7.com/yutian727/services/trackbacks/128617.htmlq两天工作还?工作的内容就是写存储q程,对于我这个没有写q存储近E的人来?q是有一定困隄.不过q好,在众多资源的帮助?万事OK呀,哈哈.下面是我写的两个存储过E?

       其一:Ҏ(gu)据库中的原表q行每天的备?

       其二:通过Ҏ(gu)新的备䆾表进行取值操?通过判断,向原表中插入数据.

       其实q两个存储过E也没有什么难?一斚w我是q方面的新手,另一斚w要操作一个(f)时表,而且要从中取得数?没有传入?,我在|上找了(jin)一?没有什么成功的例子,所?把我q两天的成果晒一?

       先说几个关键?我用的时?没少几个词费脑子)

1.       execute Immediate,一个执行动态SQL的东?在每天生成备份表?立下?jin)汉马功?我的表名?原表?yyyymmdd

2.       creat table 表名 as select * from 已有?q是一个创,我认为最快的一U方?在创的同?也可以直接把已有表中的数据也一起copyq来,呵呵,很是奇

3.       sys_refcursor,q是一个cursor,很怪异的一个cursor,能够生成动态的cursor,可以多用一?

 

下面我写的存储过E?主要C务逻辑L?主要说一下过E?o:p>

1.      每天生成表备份的存储q程

create or replace procedure P_HOLD_COPY Is
--每天l算?为当天的持股做备?br>--得到表名为原表名+yyyymmdd的格?br>table_name Varchar2(20) := 'test'||To_char(Sysdate,'yyyymmdd');
Begin
    execute Immediate 'Create Table '||table_name||' As Select * From T_STOC_HOLD';
  Commit;
end P_HOLD_COPY;

2.       从备份表中取得数?然后Ҏ(gu)数据,对原表进行操?/p> create or replace procedure P__SHARE  is
--******************************************************************
--存储q程名称QP_SHARE
--功能描述Q对备䆾表进行数据操?br>--******************************************************************
 balance Number;
 totalmoney Number;
 h_amount Number;
 
 allot_stock Number;
 allot_money Number;
 
 str Varchar2(1);
 v_product_oid Varchar2(32);
 
table_name Varchar2(20);
sqlstr Varchar2(1000);
 
 v_allot_row t_stoc_allot%rowtype;
 v_hold_row t_stoc_hold%rowtype;

 Cursor c_allot is select * from t_stoc_allot where to_char(t_stoc_allot.regdate,'yymmdd') < to_char(sysdate+1,'yymmdd') And (t_stoc_allot.is_allot Is Null Or t_stoc_allot.is_allot='1');

 c_hold sys_refcursor  ;

Begin

  open c_allot;
  loop
      fetch c_allot into v_allot_row;
       
      table_name :=  'T_STOC_HOLD'||To_char(v_allot_row.regdate,'yyyymmdd');
     
      v_product_oid := v_allot_row.product_oid;
      sqlstr := 'select * from '||table_name||' where stock_code='||v_product_oid;
      exit when c_allot%NOTFOUND;

        open c_hold For sqlstr ;
        loop
            fetch c_hold into v_hold_row;
            exit when c_hold%NOTFOUND;
            
                   end loop;
        close c_hold;
          end loop;
  close c_allot;
 
  Commit;
end P_SHARE;



]]>
eclipse的远E调?jboss+tomcat),已成?/title><link>http://m.tkk7.com/yutian727/archive/2007/07/06/128591.html</link><dc:creator>牛宝?/dc:creator><author>牛宝?/author><pubDate>Fri, 06 Jul 2007 07:22:00 GMT</pubDate><guid>http://m.tkk7.com/yutian727/archive/2007/07/06/128591.html</guid><wfw:comment>http://m.tkk7.com/yutian727/comments/128591.html</wfw:comment><comments>http://m.tkk7.com/yutian727/archive/2007/07/06/128591.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/yutian727/comments/commentRss/128591.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/yutian727/services/trackbacks/128591.html</trackback:ping><description><![CDATA[<p>何ؓ(f)q程调试Q我们一般调试一个web目的java代码Ӟ需要将你的web服务器和你的开发工P比如eclipseQ集成,或需要工L(fng)一些插件支?比如Eclipse下的myclipse{?Q这些方式都是在本地q行Q即你的开发工具和web服务器运行在同一台服务器上,如果你的开发工具和服务器不再一台机器上那就需要实现远E调试功能了(jin)?/p> <p>下面说明一下在tomcat中的q程调试实现:</p> <p>在tomcat的catalina.bat文g中加入下面的讄Q当然SET CATALINA_OPTS 变量应该在用它之前。这是在tomcat启动时设|一些虚拟机参数Q服务器允许远E连接功能,address=5888表示q程q接的端口号Q可以设|成L其他不冲H端口?br>SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888 </p> <p>然后说明一下在jboss中的q程调试实现:<br><br>在jobss中配|远E调试比较简?他的原理和tomcat一?也是修改一下他的虚拟机参数,形式?端口?787,注意端口不要重复<br>JAVA_OPTS="$JAVA_OPTS -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"<br></p> <p>q样O(jin)k?jin),重启动web服务?可以直接独立启动Q而不用在eclipes的插件中启动。打开eclipse中的debug讄H口Q选择Remote Java Application Q新Z个debug,输入服务器IP和刚才设|端口号Q点ok可以进入debug状态了(jin)。Jbuilder中同样可以设|Remote Java Application?/p> <img src ="http://m.tkk7.com/yutian727/aggbug/128591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/yutian727/" target="_blank">牛宝?/a> 2007-07-06 15:22 <a href="http://m.tkk7.com/yutian727/archive/2007/07/06/128591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.util.TimeTask例子http://m.tkk7.com/yutian727/archive/2007/06/01/121380.html牛宝?/dc:creator>牛宝?/author>Fri, 01 Jun 2007 08:30:00 GMThttp://m.tkk7.com/yutian727/archive/2007/06/01/121380.htmlhttp://m.tkk7.com/yutian727/comments/121380.htmlhttp://m.tkk7.com/yutian727/archive/2007/06/01/121380.html#Feedback2http://m.tkk7.com/yutian727/comments/commentRss/121380.htmlhttp://m.tkk7.com/yutian727/services/trackbacks/121380.htmljava.util.Timer定时器,实际上是个线E,定时调度所拥有的TimerTasks? 
  一个TimerTask实际上就是一个拥有runҎ(gu)的类Q需要定时执行的代码攑ֈrunҎ(gu)体内QTimerTask一般是以匿名类的方式创建? 
   
  一个完整的TimerQ? 
   
  java.util.Timer   timer   =   new   java.util.Timer(true);  
      //   true   说明q个timer以daemon方式q行Q优先低,  
      //       E序l束timer也自动结束)(j)Q注意,javax.swing  
      //   包中也有一个Timerc,如果import中用到swing包,  
      //   要注意名字的冲突? 
   
  TimerTask   task   =   new   TimerTask()   {  
      public   void   run()   {  
            ...   //每次需要执行的代码攑ֈq里面? 
      }  
  };  
   
  //以下是几U调度task的方法:(x)  
   
  timer.schedule(task,   time);    
  //   time为DatecdQ在指定旉执行一ơ? 
   
  timer.schedule(task,   firstTime,   period);  
  //   firstTime为Datecd,period为long  
  //   从firstTime时刻开始,每隔period毫秒执行一ơ? 
   
  timer.schedule(task,   delay)  
  //   delay   为longcdQ从现在赯delay毫秒执行一? 
   
  timer.schedule(task,   delay,   period)  
  //   delay为long,period为longQ从现在赯delay毫秒以后Q每隔period  
  //     毫秒执行一ơ?nbsp;  
   

下面是一个完整的例子,׃个类l成,一个定制Q?一个调用java.util.Timer

定制d:
import java.util.Timer;

public class TimerTaskTest extends java.util.TimerTask{

 @Override
 public void run() {
  // TODO Auto-generated method stub
  System.out.println("start");
 }
}
2.调用java.util.Timer
import java.util.Timer;

public class Test {
 public static void main(String[] args){
  Timer timer = new Timer();
  timer.schedule(new TimerTaskTest(), 1000, 2000);
  try{
   Thread.sleep(1000);
  }catch(Exception ex){
   timer.cancel();
  }
 }
}
Ҏ(gu)上面的介l?便可以在1U后,每隔2U执行一ơ程?br>:在用Timer timer = new Timer()?不要用Timer timer = new Timer(true).因ؓ(f)q样,在程序结束后,timer也自动结束了(jin),不利于?br>



]]>
定时执行d的三U方??http://m.tkk7.com/yutian727/archive/2007/06/01/121372.html牛宝?/dc:creator>牛宝?/author>Fri, 01 Jun 2007 07:49:00 GMThttp://m.tkk7.com/yutian727/archive/2007/06/01/121372.htmlhttp://m.tkk7.com/yutian727/comments/121372.htmlhttp://m.tkk7.com/yutian727/archive/2007/06/01/121372.html#Feedback0http://m.tkk7.com/yutian727/comments/commentRss/121372.htmlhttp://m.tkk7.com/yutian727/services/trackbacks/121372.html1Qjava.util.Timer
q个Ҏ(gu)应该是最常用的,不过q个Ҏ(gu)需要手工启动你的Q务:(x)
Timer timer=new Timer();
timer.schedule(new ListByDayTimerTask(),10000,86400000);
q里的ListByDayTimerTaskcdextends TimerTask里面的run()Ҏ(gu)?/p>

2QServletContextListener
q个Ҏ(gu)在web容器环境比较方便Q这P在web server启动后就可以
自动q行该Q务,不需要手工操作?br>ListByDayListener implements ServletContextListener接口Q在
contextInitializedҎ(gu)中加入启动Timer的代码,在contextDestroyed
Ҏ(gu)中加入cancel该Timer的代码;然后在web.xml中,加入listener:
<listener>
<listener-class>com.qq.customer.ListByDayListener</listener-class>
</listener>

3)org.springframework.scheduling.timer.ScheduledTimerTask
如果你用springQ那么你不需要写TimercM(jin)Q在schedulingContext-timer
.xml中加入下面的内容可以了(jin)Q?br><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<bean id="timer" class="org.springframework.scheduling.timer.TimerFactoryBean">
     <property name="scheduledTimerTasks">
         <list>
              <ref local="MyTimeTask1"/>
         </list>
     </property>
</bean>

<bean id="MyTimeTask" class="com.qq.timer.ListByDayTimerTask"/>

<bean id="MyTimeTask1" class="org.springframework.scheduling.timer.ScheduledTimerTask">
   <property name="timerTask">
       <ref bean="MyTimeTask"/>
   </property>
   <property name="delay">
       <value>10000</value>
   </property>
   <property name="period">
       <value>86400000</value>
   </property>
</bean>
</beans>



]]>
վ֩ģ壺 ް鵺̳| ٸѾƷ| ޾ƷƵ| þѹۿƷ| AVרӰ| պƵƵ| ѹۿaƵ| ɫ¸avվ| պһ| Ƶһ߲| ҰĻƵ | 97ԭѹۿ| þþƷƷް| þóaëƬѹۿվ| þþþþAVר| hƵѿ| ޿ƬƵ| պaëƬѹۿ| Ʒһ| ͵ۺ| ĻѹۿƵ| AVӰԺ߹ۿ| Ƶ| ޾ƷպһС˵| ޳?vƬ| 99þѹػ| ٸĻӰ| ձ| ɫɫwww| ƷŮߵӰ | ڵƵվ| ŮڵƵվ| ޵һҳۺͼƬ| ߹ۿxxxx| רȷӰ| ҹվѰ߹ۿ| 2022ѹƷ | ޾Ʒ鶼| 2015պƵ| ͵͵APP| ۺϾƷ㽶þ|