• 
    

      <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
      1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>

        數(shù)據(jù)庫的插入java代碼 使用java實現(xiàn)數(shù)據(jù)庫編程

        怎樣用java代碼把數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中

        Java可以使用JDBC對數(shù)據(jù)庫進(jìn)行讀寫。JDBC訪問一般分為如下流程:

        創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)岳陽,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

        1、加載JDBC驅(qū)動程序:

        在連接數(shù)據(jù)庫之前,首先要加載想要連接的數(shù)據(jù)庫的驅(qū)動到JVM(Java虛擬機),

        這通過java.lang.Class類的靜態(tài)方法forName(String className)實現(xiàn)。

        例如:

        try{

        //加載MySql的驅(qū)動類

        Class.forName("com.mysql.jdbc.Driver") ;

        }catch(ClassNotFoundException e){

        System.out.println("找不到驅(qū)動程序類 ,加載驅(qū)動失敗!");

        e.printStackTrace() ;

        }

        成功加載后,會將Driver類的實例注冊到DriverManager類中。

        2、提供JDBC連接的URL

        ?連接URL定義了連接數(shù)據(jù)庫時的協(xié)議、子協(xié)議、數(shù)據(jù)源標(biāo)識。

        ?書寫形式:協(xié)議:子協(xié)議:數(shù)據(jù)源標(biāo)識

        協(xié)議:在JDBC中總是以jdbc開始

        子協(xié)議:是橋連接的驅(qū)動程序或是數(shù)據(jù)庫管理系統(tǒng)名稱。

        數(shù)據(jù)源標(biāo)識:標(biāo)記找到數(shù)據(jù)庫來源的地址與連接端口。

        例如:(MySql的連接URL)

        jdbc:mysql://localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;

        useUnicode=true:表示使用Unicode字符集。如果characterEncoding設(shè)置為

        gb2312或GBK,本參數(shù)必須設(shè)置為true 。characterEncoding=gbk:字符編碼方式。

        3、創(chuàng)建數(shù)據(jù)庫的連接

        ?要連接數(shù)據(jù)庫,需要向java.sql.DriverManager請求并獲得Connection對象,該對象就代表一個數(shù)據(jù)庫的連接。

        ?使用DriverManager的getConnectin(String url,String username,String password )方法傳入指定的欲連接的數(shù)據(jù)庫的路徑、數(shù)據(jù)庫的用戶名和密碼來獲得。

        例如:

        //連接MySql數(shù)據(jù)庫,用戶名和密碼都是root

        String url = "jdbc:mysql://localhost:3306/test" ;

        String username = "root" ;

        String password = "root" ;

        try{

        Connection con =

        DriverManager.getConnection(url , username , password ) ;

        }catch(SQLException se){

        System.out.println("數(shù)據(jù)庫連接失??!");

        se.printStackTrace() ;

        }

        4、創(chuàng)建一個Statement

        ?要執(zhí)行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:

        1、執(zhí)行靜態(tài)SQL語句。通常通過Statement實例實現(xiàn)。

        2、執(zhí)行動態(tài)SQL語句。通常通過PreparedStatement實例實現(xiàn)。

        3、執(zhí)行數(shù)據(jù)庫存儲過程。通常通過CallableStatement實例實現(xiàn)。

        具體的實現(xiàn)方式:

        Statement stmt = con.createStatement() ;

        PreparedStatement pstmt = con.prepareStatement(sql) ;

        CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;

        5、執(zhí)行SQL語句

        Statement接口提供了三種執(zhí)行SQL語句的方法:executeQuery 、executeUpdate和execute

        1、ResultSet executeQuery(String sqlString):執(zhí)行查詢數(shù)據(jù)庫的SQL語句,返回一個結(jié)果集(ResultSet)對象。

        2、int executeUpdate(String sqlString):用于執(zhí)行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等

        3、execute(sqlString):用于執(zhí)行返回多個結(jié)果集、多個更新計數(shù)或二者組合的語句。

        具體實現(xiàn)的代碼:

        ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;

        int rows = stmt.executeUpdate("INSERT INTO ...") ;

        boolean flag = stmt.execute(String sql) ;

        6、處理結(jié)果

        兩種情況:

        1、執(zhí)行更新返回的是本次操作影響到的記錄數(shù)。

        2、執(zhí)行查詢返回的結(jié)果是一個ResultSet對象。

        ResultSet包含符合SQL語句中條件的所有行,并且它通過一套get方法提供了對這些行中數(shù)據(jù)的訪問。

        使用結(jié)果集(ResultSet)對象的訪問方法獲取數(shù)據(jù):

        while(rs.next()){

        String name = rs.getString("name") ;

        String pass = rs.getString(1); // 此方法比較高效(列是從左到右編號的,并且從列1開始)

        }

        7、關(guān)閉JDBC對象

        操作完成以后要把所有使用的JDBC對象全都關(guān)閉,以釋放JDBC資源,關(guān)閉順序和聲明順序相反:

        1、關(guān)閉記錄集

        2、關(guān)閉聲明

        3、關(guān)閉連接對象

        if(rs != null){ // 關(guān)閉記錄集

        try{

        rs.close() ;

        }catch(SQLException e){

        e.printStackTrace() ;

        }

        }

        if(stmt != null){ // 關(guān)閉聲明

        try{

        stmt.close() ;

        }catch(SQLException e){

        e.printStackTrace() ;

        }

        }

        if(conn != null){ // 關(guān)閉連接對象

        try{

        conn.close() ;

        }catch(SQLException e){

        e.printStackTrace() ;

        }

        }

        java 向數(shù)據(jù)庫插入數(shù)據(jù)

        java向數(shù)據(jù)庫中插入數(shù)據(jù),可以使用mysql數(shù)據(jù)庫,使用statement類來操作數(shù)據(jù)庫,示例如下:

        Connection?conn?=?null;

        Statement?st?=?null;

        try?{

        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加載驅(qū)動類

        conn?=?DriverManager.getConnection("jdbc:microsoft:sqlserver://server_name:1433",?"name","pwd");

        conn.setAutoCommit(false);

        st?=?conn.createStatement();

        //?模擬一個?str[i]?=?nd.getNodeValue().trim()

        String[]?str?=?new?String[]?{?"aaa",?"bbb",?"ccc",?"ddd",?"eee","fff"?};

        String?sqlStr?=?null;

        for?(int?i?=?0;?i??str.length;?i++)?{

        sqlStr?=?"INSERT?INTO?TABLENAME?(COLNAME)VALUES('"?+?str[i]?+?"')";//向數(shù)據(jù)庫中插入數(shù)據(jù)

        st.executeUpdate(sqlStr);

        }

        conn.commit();

        }?catch?(Exception?e)?{

        e.printStackTrace();

        }?finally?{//釋放數(shù)據(jù)庫的資源

        try?{

        if?(st?!=?null)

        st.close();

        if(conn?!=?null??!conn.isClosed()){

        conn.close();

        }

        }?catch?(SQLException?e)?{

        e.printStackTrace();

        }

        }

        JAVA嵌入數(shù)據(jù)庫:用java代碼實現(xiàn)像數(shù)據(jù)庫表中插入信息,怎么寫?

        Java程序向數(shù)據(jù)庫中插入數(shù)據(jù),代碼如下:

        //首先創(chuàng)建數(shù)據(jù)庫,(access,oracle,mysql,sqlsever)其中之一,其中access,sqlsever需要配置數(shù)據(jù)源(odbc);//然后再eclipse中創(chuàng)建類(ConnDb,Test,TestBean)ConnDb功能為連接數(shù)據(jù)庫,查詢,插入,刪除,修改數(shù)據(jù)的類,Test為含有main方法的測試類,TestBean為數(shù)據(jù)表中的字段屬性及set,get方法//以下是ConnDb代碼:package db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;public class ConnDb {public Connection startConn(Connection conn){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); conn = DriverManager.getConnection("jdbc:odbc:數(shù)據(jù)庫","用戶名", "密碼"); } catch (Exception e) { System.out.println("連接數(shù)據(jù)庫時出現(xiàn)錯誤"); } return conn; } public ArrayList executeQuery(String sql){ Connection conn = null; Statement stmt = null; ResultSet rs = null; ArrayList list = new ArrayList(); try { conn = startConn(conn); stmt = conn.createStatement(); rs = stmt.executeQuery(sql);//sql為sql語句例如"select * from 表名",從main方法中傳進(jìn)來,這里用的是ArrayList 類將查詢結(jié)果存儲起來 while(rs.next()){ TestBean tb = new TestBean(); tb.setTid(rs.getString("tid")); tb.setTname(rs.getString("tname")); tb.setTinfo(rs.getString("tinfo")); list.add(tb); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ closeConn(rs,stmt,conn); } return list; } public void executeUpdate(String sql){ Connection conn = null; Statement stmt = null; try { conn = startConn(conn); stmt = conn.createStatement(); stmt.executeUpdate(sql); } catch (SQLException e) { System.out.println("修改,插入或者刪除數(shù)據(jù)庫數(shù)據(jù)時發(fā)生錯誤!"); }finally{ closeConn(stmt,conn); } } public void closeConn(ResultSet rs,Statement stmt,Connection conn){ try { if(rs != null){ rs.close(); } if(stmt != null){ stmt.close(); } if(conn != null){ conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block System.out.println("關(guān)閉數(shù)據(jù)庫的時候發(fā)生錯誤!"); } } public void closeConn(Statement stmt,Connection conn){ try { if(stmt != null){ stmt.close(); } if(conn != null){ conn.close(); } } catch (SQLException e) { // TODO Auto-generated catch block System.out.println("關(guān)閉數(shù)據(jù)庫的時候發(fā)生錯誤!"); } }}

        Java怎么向數(shù)據(jù)庫中插入數(shù)據(jù)

        SQL語句有問題。你在下面輸出SQL看下就明白了。

        應(yīng)改為:

        String sql="insert into aa(a,b,c) values('"+h+"','"+f+"','"+g+"')";

        文章標(biāo)題:數(shù)據(jù)庫的插入java代碼 使用java實現(xiàn)數(shù)據(jù)庫編程
        標(biāo)題網(wǎng)址:http://www.jbt999.com/article48/hhhpep.html

        成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈定制開發(fā)、虛擬主機、企業(yè)建站、網(wǎng)站策劃、自適應(yīng)網(wǎng)站

        廣告

        聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

        成都網(wǎng)站建設(shè)

      2. 
        

          <address id="upfr9"><pre id="upfr9"><strike id="upfr9"></strike></pre></address>
          1. <address id="upfr9"><tr id="upfr9"></tr></address><dl id="upfr9"></dl>
            人人妻人人操裸贷 | 日韩免费一区 | 亚洲爽图 | 操逼美女国产 | 求免费黄色网址 | 四虎成人精品电影 | 黑人操| 亚洲最大视频网 | 精品久久久久久蜜桃 | 乱伦激情综合网 |