在java中对数据库进行任何操作,首先当然是获取数据库连接。 作者以配置文件的形式加载数据库信息。 配置文件的名称是db。 内容如下
=com.mysql.jdbc。
url=jdbc:mysql://:3306/
=根
=根
ps:里面的内容都是键值对的形式,不需要引号
接下来是类,获取配置,获取连接
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(i0==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//这些是实现类,用起来肯定不合适。