mysql資料庫---批處理與大文本/圖片類型

來源:互聯網
上載者:User

標籤:

要在java對資料庫做任何操作,第一件事當然是擷取資料庫連接,筆者是通過設定檔的形式載入資料庫資訊的,設定檔名為db.properties,內容如下

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/customermanage
username=root
password=root

ps:properties中的內容均為索引值對形式,不需要用到引號

接下來是DBUtil類,擷取配置,得到串連

package com.cherry.utils;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Properties;import java.util.ResourceBundle;public class DBUtils {    static String driver;    static String url;    static String username;    static String password;    static {        try {            // Class.forName("com.mysql.jdbc.Driverr");            // DriverManager.getConnection("jdbc:mysql://localhost:3306/customermanage",            // "root", "root");            ResourceBundle rb = ResourceBundle.getBundle("db");            driver = rb.getString("driver");            Class.forName(driver);            url = rb.getString("url");            username = rb.getString("username");            password = rb.getString("password");        } catch (ClassNotFoundException e) {            e.printStackTrace();        }    }    public static Connection getConn() throws SQLException {        return DriverManager.getConnection(url, username, password);    }    public static void releaseRes(ResultSet rs, PreparedStatement ps,            Connection conn) throws SQLException {        if (rs != null) {            rs.close();        }        if (ps != null) {            ps.close();        }        if (conn != null) {            conn.close();        }    }}

先說說批處理操作類

package com.cherry.batch;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import com.cherry.utils.DBUtils;public class BatchSQL {public static void main(String[] args) throws SQLException {    Connection conn= DBUtils.getConn();    String sql="insert into des value(?,?)";    PreparedStatement ps=conn.prepareStatement(sql);    for ( int i=0;i<10000 ;i++) {        ps.setString(1, "name"+i);        ps.setString(2, "des"+i);        ps.addBatch();        if(i%100==0){            ps.executeBatch();            ps.clearBatch();        }    }}}

再看大文本或圖片類型的儲存

package com.cherry.batch;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.Reader;import java.sql.Connection;import java.sql.PreparedStatement;import java.util.UUID;import com.cherry.utils.DBUtils;public class TextSQL {    public static void main(String[] args) {        try {            Connection connection = DBUtils.getConn();            String  sql = "insert into des values(?,?)";            PreparedStatement ps = connection.prepareStatement(sql);            ps.setString(1, UUID.randomUUID().toString());            File file = new File("f://test.txt");            Reader reader = new FileReader(file);            //這裡不一定要強轉,看你的mysql驅動版本,總之不轉不行就轉個試試            ps.setCharacterStream(2, reader, (int)file.length());            ps.executeUpdate();        } catch (Exception e) {            e.printStackTrace();        }    }}

另外,注意導包,這裡所有的資料庫操作類所導的都是java.sql下的,想想也知道,面向介面編程的Java君,肯定是使用sql包的(普適性),因為mysql/sqlserver/orcale這些都是實作類別,用他們肯定不合適。

mysql資料庫---批處理與大文本/圖片類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.