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

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

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

    有才華的人,別忘記給滋潤(rùn)你的那塊土壤施肥

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      28 隨筆 :: 5 文章 :: 147 評(píng)論 :: 0 Trackbacks
          工作中一直都是用swing,很少接觸數(shù)據(jù)庫(kù),最近事少就幫著把公司服務(wù)器用csv存儲(chǔ)用戶資料信息,轉(zhuǎn)移到mysql中去存儲(chǔ),才得以學(xué)習(xí)下mysql的存儲(chǔ)過(guò)程。
          首先在mysql中練習(xí)下存儲(chǔ)過(guò)程的小例子:   
    mysql> delimiter //
    mysql
    > create procedure hello()
        
    -> begin
        
    -> select 'It is not a HelloWorld';
        
    -> end
        
    -> //
    Query OK, 
    0 rows affected (0.01 sec)
    其中“delimiter //”的意思是定義結(jié)束符號(hào)為“//”,以此來(lái)替換mysql中的“;”
    在mysql中查詢上面的過(guò)程hello():
    mysql> call hello()//
    +------------------------+
    | It is not a HelloWorld |
    +------------------------+
    | It is not a HelloWorld |
    +------------------------+
    1 row in set (0.00 sec)
    建立一個(gè)簡(jiǎn)單的測(cè)試用表:
    mysql> DROP TABLE IF EXISTS `userinfo`.`mapping`;
        
    -> CREATE TABLE  `userinfo`.`mapping` (
        
    ->   `cFieldID` smallint(5) unsigned NOT NULL,
        
    ->   `cFieldName` varchar(30NOT NULL,
        
    ->   PRIMARY KEY  (`cFieldID`)
        
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
        
    -> //
    Query OK, 
    0 rows affected (0.14 sec)
    向table mapping中插入一些初始化的數(shù)據(jù):
    mysql> load data infile 'd:\\userInfo\\field.txt' into table mapping
        
    -> fields terminated by ',' lines terminated by '\r\n' //
    Query OK, 
    5 rows affected (0.02 sec)
    Records: 
    5  Deleted: 0  Skipped: 0  Warnings: 0
    mysql
    > select *from mapping//
    +----------+-------------+
    | cFieldID | cFieldName  |
    +----------+-------------+
    |        1 | MarketValue |
    |        2 | P/L         |
    |        3 | EName       |
    |        4 | Nominal     |
    |        5 | Chg         |
    +----------+-------------+
    5 rows in set (0.02 sec)
    現(xiàn)在簡(jiǎn)歷一個(gè)向mapping中插入一條記錄并返回記錄的總和
    mysql> drop procedure if exists mappingProc;
        
    ->  create procedure mappingProc(out cnt int)
        
    ->  begin
        
    ->  declare maxid int;
        
    ->  select max(cFieldID)+1 into maxid from mapping;
        
    ->  insert into mapping(cFieldID,cFieldName) values(maxid,'hello');
        
    ->  select count(cFieldID) into cnt from mapping;
        
    ->  end
        
    ->  //
    查找mappingProc():
    mysql> call mappingProc(@a)//
    mysql
    > select @a//
    +------+
    | @a   |
    +------+
    | 6    |
    +------+
    mysql> select * from mapping//
    +----------+-------------+
    | cFieldID | cFieldName  |
    +----------+-------------+
    |        1 | MarketValue |
    |        2 | P/L                 |
    |        3 | EName          |
    |        4 | Nominal     |
    |        5 | Chg         |
    |        6 | hello       |
    +----------+-------------+
    下面是java代碼用來(lái)調(diào)用MySQL的存儲(chǔ)過(guò)程:
    package kissJava.sql;
    import java.sql.CallableStatement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.sql.Types;
    public class SQLUtils {
        String url 
    = "jdbc:mysql://127.0.0.1:3306/userInfo"
        String userName 
    = "root";
        String password 
    = "zhui007";
        
    public Connection getConnection() {
            Connection con
    =null;
            
    try{
                DriverManager.registerDriver(
    new com.mysql.jdbc.Driver());
                con 
    = DriverManager.getConnection(url, this.userName, this.password);
            }
    catch(SQLException sw)
             }

            
    return con;
        }

        
    public void testProc(){
            Connection conn 
    = getConnection();
            CallableStatement stmt 
    = null;
            
    try{
                stmt 
    = conn.prepareCall("{call mappingProc(?)}");    
                stmt.registerOutParameter(
    1, Types.INTEGER);
                stmt.execute();
                
    int i= stmt.getInt(1);
                System.out.println(
    "count = " + i);
            }
    catch(Exception e){
                System.out.println(
    "hahad = "+e.toString());
            }
    finally{
                
    try {
                    stmt.close();
                    conn.close();
                }
    catch (Exception ex) {
                    System.out.println(
    "ex : "+ ex.getMessage());
                }

            }

        }

        
    public static void main(String[] args) {
            
    new SQLUtils().testProc();
        }

    }
    在到MySQL中查詢可看到插入一條新的記錄
    posted on 2008-07-16 12:20 kissjava 閱讀(32252) 評(píng)論(30)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

    評(píng)論

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-07-21 16:33 guest
    好,頂一個(gè)  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-08-28 09:55 macguffin
    不錯(cuò),頂一個(gè)  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-09-03 14:14 huihii
    些的什么鳥(niǎo)啊,都不好使
    垃圾

      回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-09-03 16:24 枯寬
    @huihii
    不好使那你就閃唄,只有垃圾才會(huì)罵別人垃圾  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-09-04 16:39 huihii
    無(wú)恥鳥(niǎo)人!  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-09-05 09:56 支持樓主
    @huihii
    真鄙視樓上的,如果你是個(gè)高手的話,我想你也不會(huì)去罵一個(gè)菜鳥(niǎo),還會(huì)罵完隔一天又跑回來(lái)罵。說(shuō)你是鳥(niǎo)人,還給你高帽子呢  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程[未登錄](méi) 2008-09-09 13:33 chen
    不是不好使,是你沒(méi)有看明白樓上寫的這些是什么意思,看來(lái)你對(duì)mysql不是太熟悉呀,好好學(xué)學(xué)吧  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-09-22 19:28 sigua
    偶是入門級(jí)別的水平
    看了挺受用的
    多謝分享  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-10-20 13:01 zhyt710
    很好  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 10:40 靜児
    我剛剛?cè)腴T,正好遇到MySql的問(wèn)題,看過(guò)了蠻好的,不過(guò),樓主,為什么我在Java里面調(diào)用時(shí),照著你的方法做的卻還是出錯(cuò)了啊?5555555  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 13:53 枯寬
    @靜児
    哪里出問(wèn)題了呢??  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 15:19 靜児
    @枯寬
    一直報(bào)錯(cuò):hahad = java.sql.SQLException: Callable statments not supported.
    ex : null  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 15:20 靜児
    樓主,我現(xiàn)在想要實(shí)現(xiàn)一個(gè)功能,你能不能幫我看看啊?  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 15:32 枯寬

    @靜児
    你的mysql什么版本的?  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 15:34 靜児
    是mysql-5.0.51a的  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 15:38 靜児
    @枯寬
    我本來(lái)是把自己想要實(shí)現(xiàn)的功能照你的方法寫的,但是一直報(bào)錯(cuò),所以后來(lái)就干脆把你建的存儲(chǔ)過(guò)程和所有的Java代碼都執(zhí)行了一次,可是還是不對(duì)啊,不知道到底怎么回事?  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 15:52 枯寬
    @靜児
    你用mysql控制臺(tái)操作有問(wèn)題嗎?

    沒(méi)有的話,那你的mysql的驅(qū)動(dòng)包匹配嗎?我的那些例子都是很簡(jiǎn)單,我都是成功運(yùn)行了的,根據(jù)“Callable statments not supported. ”很有可能你的驅(qū)動(dòng)包沒(méi)有CallableStatement這個(gè)類,確定有沒(méi)有先  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 16:01 靜児
    @枯寬
    哦,謝謝樓主,那我先去看看!


    對(duì)了,樓主,你有QQ嗎?如果我有問(wèn)題的話可以問(wèn)問(wèn)你嗎?  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2008-12-10 16:19 靜児
    哦!但我現(xiàn)在的問(wèn)題還是沒(méi)有解決啊,在mysql控制臺(tái)是沒(méi)問(wèn)題的,都可以運(yùn)行,但是在Java里調(diào)用時(shí)就會(huì)出剛剛的那個(gè)錯(cuò)誤。  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程[未登錄](méi) 2009-05-13 15:26 lynn
    @靜児
    不知道現(xiàn)在回復(fù)你會(huì)不會(huì)太晚。
    把錯(cuò)誤打印出來(lái)就知道了

    sw.printStackTrace();  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程[未登錄](méi) 2009-06-03 15:24 haha
    haha,很好很強(qiáng)大  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程[未登錄](méi) 2009-06-03 15:28 test
    能否顯示?


    <tr></table><td></tr>  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2009-10-14 16:18 skyworld
    很好,謝謝啦!  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2010-10-17 01:15 java學(xué)習(xí)生
    講解很明白 看懂了 ,,,
    說(shuō)的有點(diǎn)麻煩額

    在java中調(diào)用存儲(chǔ)過(guò)程大概步驟
    1連接上數(shù)據(jù)庫(kù) 關(guān)鍵字Connection
    2.傳sql 來(lái)調(diào)用存儲(chǔ)過(guò)程 關(guān)鍵字:CallableStatement
    注意 Statement PreparedStatement CallableStatement 三者區(qū)別
    即可
    3.完啦
    注意 不用的Statement調(diào)用的方法
    CallableStatement需要的參數(shù)
    以及最后的關(guān)閉順序 ...


      回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2011-05-09 11:20 劉盼
    說(shuō)得好,別理那些看不懂的菜鳥(niǎo)。  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程[未登錄](méi) 2011-06-14 21:14 aa
    不錯(cuò),些的不錯(cuò),適合初學(xué)者,我都運(yùn)行了,謝謝。  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2012-03-16 18:03 sad
    知道為什么,啊
    @靜児
      回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程 2012-10-10 11:22 靜児
    再來(lái)留個(gè)腳印  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程[未登錄](méi) 2013-09-06 14:49 小魚
    是個(gè)入門的好例子,我順利的跑通了,只有菜鳥(niǎo)才會(huì)罵  回復(fù)  更多評(píng)論
      

    # re: mysql存儲(chǔ)過(guò)程學(xué)習(xí)及java調(diào)用存儲(chǔ)過(guò)程[未登錄](méi) 2014-02-21 12:01 linkin
    不錯(cuò),學(xué)習(xí)了  回復(fù)  更多評(píng)論
      


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲an日韩专区在线| 亚洲综合日韩中文字幕v在线| 狠狠综合久久综合88亚洲| 亚洲国产精品无码专区影院| 亚洲永久永久永久永久永久精品| 亚洲一级免费毛片| 免费国产在线精品一区| 成在人线av无码免费高潮喷水| 亚洲黄色免费网址| 国产国产人免费人成免费视频| 中文字幕无码精品亚洲资源网| 亚洲伊人tv综合网色| 春暖花开亚洲性无区一区二区| 三级黄色在线免费观看| 国产香蕉免费精品视频| 国产免费牲交视频| 亚洲第一精品在线视频| 欧洲亚洲国产精华液| 免费黄网站在线观看| 麻豆国产VA免费精品高清在线| 国产V亚洲V天堂无码久久久| 亚洲中文无码av永久| www免费插插视频| 麻豆一区二区免费播放网站 | 成人在线免费观看| 中文字幕亚洲第一| 日本亚洲色大成网站www久久| 久久久久国色AV免费观看| 在线观看免费高清视频| 奇米影视亚洲春色| 亚洲色少妇熟女11p| 永久免费不卡在线观看黄网站| 日韩黄色免费观看| 亚洲国产综合91精品麻豆| 国产精品日本亚洲777| 69av免费观看| 怡红院亚洲怡红院首页| 亚洲日韩精品无码专区加勒比| 国产精品白浆在线观看免费| 国产男女猛烈无遮挡免费网站| 亚洲天天做日日做天天看|