<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    乖,別哭的薄殼
    ~一份耕耘,一份收獲~
    posts - 23,comments - 260,trackbacks - 0

    一個(gè)簡(jiǎn)單的用jdbc操作數(shù)據(jù)庫(kù)的例子,有時(shí)候我們處理一些小問(wèn)題的時(shí)候會(huì)發(fā)現(xiàn)很有用.

    這是用來(lái)從一個(gè)Access的數(shù)據(jù)庫(kù)文件area.mdb(一個(gè)全國(guó)省份城市的數(shù)據(jù)庫(kù))中提取出我需要的信息到MS SQLServer 2000數(shù)據(jù)庫(kù)里的例子.

    package com.test;

    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;

    /**
    ?*
    ?* CopyRight (C) http://m.tkk7.com/ilovezmh? All rights reserved.<p>
    ?*
    ?* WuHan Inpoint Information Technology Development,Inc.<p>
    ?*
    ?* Author zhu<p>
    ?*
    ?* @version 1.0??? 2007-1-17
    ?*
    ?* <p>Base on : JDK1.5<p>
    ?*
    ?*/

    public class City {
    ?
    ?static String driver1="sun.jdbc.odbc.JdbcOdbcDriver";
    ?static String driver2="net.sourceforge.jtds.jdbc.Driver";
    ?static String url1="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D:\\TDdownload\\area\\area.mdb";
    ?static String url2="jdbc:jtds:sqlserver://localhost:1433/test;SelectMethod=cursor;characterEncoding=GBK";
    ?
    ?public static void main(String arg[]) throws IOException,SQLException{
    ??
    ??
    ??Connection conn1=null;
    ??Connection conn2=null;
    ??Statement ps1=null;
    ??//Statement ps2=null;
    ??ResultSet rs1=null;
    ??//ResultSet rs2=null;
    ??String sql1=null;
    ??String sql2=null;
    ??PreparedStatement pstmt =null;
    ??
    ??try{
    ???Class.forName(driver1);
    ???Class.forName(driver2);
    ???conn1 = DriverManager.getConnection(url1,"","");
    ???conn2= DriverManager.getConnection(url2,"sa","sa");
    ???ps1 = conn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    ???//ps2 = conn2.createStatement();
    ??}
    ??catch(ClassNotFoundException e){
    ???System.out.print(e);
    ??}
    ??catch (SQLException e) {
    ???// TODO 自動(dòng)生成 catch 塊
    ???e.printStackTrace();
    ??}
    ??
    ??try{???
    ???sql1="select * from area";
    ???rs1 = ps1.executeQuery(sql1);
    ???sql2 = "insert into tbcity(code,name,parentid,type) values (?,?,?,?)";
    ???pstmt=conn2.prepareStatement(sql2);
    ???
    ???int code=0;
    ???int parentid=0;
    ???String name=new String();
    ???while(rs1.next()){????
    ????code=rs1.getInt(2);
    ????name=rs1.getString(3);
    ????parentid=rs1.getInt(4);
    ????//sql2="insert into TBCITY(code,name,parentid,type) values ("+code+",'"+name+"',"+parentid+",3)";
    ????//ps2.executeUpdate(sql2);
    ????pstmt.setInt(1,code);
    ????pstmt.setString(2, name);
    ????pstmt.setInt(3,parentid);
    ????pstmt.setInt(4, 3);
    ????pstmt.addBatch();
    ???}???
    ???pstmt.executeBatch(); ???
    ?????
    ???System.out.println("轉(zhuǎn)換完成!謝謝使用");
    ???ps1.close();
    ???//ps2.close();
    ???pstmt.close();
    ???conn1.close();
    ???conn2.close();
    ??}
    ??catch(Exception e){
    ???System.out.print(e);
    ??}
    ??
    ?}
    ?
    }

    posted on 2007-02-01 14:09 小祝 閱讀(3294) 評(píng)論(9)  編輯  收藏 所屬分類: java技術(shù)

    FeedBack:
    # re: 一個(gè)用jdbc操作數(shù)據(jù)庫(kù)的簡(jiǎn)單例子
    2007-02-01 22:40 | 施偉
    支持支持!  回復(fù)  更多評(píng)論
      
    # re: 一個(gè)用jdbc操作數(shù)據(jù)庫(kù)的簡(jiǎn)單例子
    2007-02-02 11:24 | 梅穎
    你占了我的位置。。。嗚嗚嗚  回復(fù)  更多評(píng)論
      
    # re: 一個(gè)用jdbc操作數(shù)據(jù)庫(kù)的簡(jiǎn)單例子
    2007-02-02 13:05 | 小祝
    ...原來(lái)在搶位置啊.  回復(fù)  更多評(píng)論
      
    # re: 用jdbc操作數(shù)據(jù)庫(kù)的簡(jiǎn)單例子
    2007-02-05 19:51 | 睿不可當(dāng)
    不錯(cuò)
    我想能不能結(jié)合你上一篇
    java讀配置文件(xml、property)的簡(jiǎn)單例子
    把連接的信息寫(xiě)在配置文件(xml、property)中就完美勒  回復(fù)  更多評(píng)論
      
    # re: 用jdbc操作數(shù)據(jù)庫(kù)的簡(jiǎn)單例子
    2007-02-05 21:28 | 小祝
    謝謝支持和建議啊!
    我是這么想的,分開(kāi)來(lái)講算是不同的知識(shí)點(diǎn),合到一起的話有些不太好,我想別人也不會(huì)寫(xiě)這樣的配置文件去連數(shù)據(jù)庫(kù)的,現(xiàn)在已經(jīng)有很方便的東西了。呵呵。
    關(guān)于事務(wù)的問(wèn)題,第一個(gè)想法和我先想的差不多,好像是可以,但覺(jué)得會(huì)有更好的方法。
    至于借助于其它的框架來(lái)做事務(wù)當(dāng)然很方便,不過(guò)這本身就是一個(gè)很簡(jiǎn)單的東西。再把框架拿起來(lái)的話就失去了他的意義,對(duì)吧。  回復(fù)  更多評(píng)論
      
    # re: 用jdbc操作數(shù)據(jù)庫(kù)的簡(jiǎn)單例子
    2007-02-05 22:22 | 施偉
    JDBC是基礎(chǔ),務(wù)必通,透,精  回復(fù)  更多評(píng)論
      
    # re: 用jdbc操作數(shù)據(jù)庫(kù)的簡(jiǎn)單例子
    2007-02-06 11:42 | 睿不可當(dāng)
    今天上午我突然想到你的這個(gè)例子有種想法
    對(duì)于你的第二個(gè)作操是否能批量執(zhí)行呢來(lái)提高效率
    sql2="insert into TBCITY(code,name,parentid,type) values ("+code+",'"+name+"',"+parentid+",3)";
    ps2.executeUpdate(sql2);//插入到表tbcity中
    jdbc3個(gè)接口用來(lái)處理sql的執(zhí)行,是Statement PreparedStatement CallableStatement
    提供適當(dāng)?shù)腟tatement接口批量執(zhí)行sql從數(shù)據(jù)庫(kù)批量獲取數(shù)據(jù)
    PreparedStatement 比Statement性能要好
    主要體現(xiàn)在一個(gè)sql語(yǔ)句多次重復(fù)執(zhí)行的情況
    PreparedStatemnt只編譯解析一次而Statement每次編譯一次.
    批量修改數(shù)據(jù)庫(kù)
    Statement 提供了方法addBatch(String)和executeBatch()
    調(diào)用方法為
    stmt.addBatch("insert.....");
    stmt.addBatch("update.....")
    stmt.executeBatch();
    也可以用PreparedStatement從而更好的提高性能.
    pstmt=conn.preparedStatement("insert into tbcity(......) values(....?)");
    pstmt.setString(1,"aaa");
    ...
    pstmt.addBatch();
    pstmt.setString(1,"bbb");
    ...
    pstmt.addBatch();
    .....
    pstmt.executeBatch();  回復(fù)  更多評(píng)論
      
    # re: 用jdbc操作數(shù)據(jù)庫(kù)的簡(jiǎn)單例子
    2007-02-06 13:06 | 小祝
    @睿不可當(dāng)
    嗯,我按你說(shuō)的這種方式改進(jìn)了下,速度還不錯(cuò)。thank you!  回復(fù)  更多評(píng)論
      
    # re: 用jdbc操作數(shù)據(jù)庫(kù)的簡(jiǎn)單例子
    2007-02-07 10:48 | 梅穎
    這個(gè)風(fēng)格還滿好看的,呵呵,向左走,向右走。。  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: 亚洲Av永久无码精品黑人| 天堂在线免费观看| 亚洲日韩VA无码中文字幕| 久9热免费精品视频在线观看| 台湾一级毛片永久免费| 黄色免费网址大全| 久久av无码专区亚洲av桃花岛| 一个人免费视频在线观看www| 久久精品国产亚洲一区二区三区 | 亚洲综合激情另类小说区| 韩国二级毛片免费播放| 亚洲自偷自偷在线成人网站传媒| 国国内清清草原免费视频99| 亚洲最大在线视频| 免费人成网站在线播放| 一级A毛片免费观看久久精品| 亚洲国产成人精品91久久久| 日亚毛片免费乱码不卡一区| 亚洲福利视频网站| 亚洲视频人成在线播放| 成全高清视频免费观看| 国产猛男猛女超爽免费视频| 国产精品亚洲а∨无码播放麻豆| 亚洲精品成a人在线观看| 2022久久国产精品免费热麻豆| 亚洲偷自精品三十六区| 精品亚洲永久免费精品| 国产男女猛烈无遮挡免费网站| 一级女性全黄生活片免费看| 亚洲级αV无码毛片久久精品| 久久国产精品免费专区| 亚洲国产高清美女在线观看| 夜夜春亚洲嫩草影院| 一级毛片免费观看不卡的| 亚洲国产午夜精品理论片| 免费特级黄毛片在线成人观看| 国产精品久久久久久亚洲影视 | 午夜亚洲www湿好大| 国产亚洲人成A在线V网站| 四虎永久成人免费| 日韩精品无码免费专区网站|