java中的mysql insert 避免直接用insert语句
来源:互联网 发布:windows syswow64 编辑:程序博客网 时间:2024/06/14 15:40
Inserting a Row into a Database Table Using a Prepared Statement
If you have a SQL statement that needs to be executed many times butwith different values, a prepared statement can be used to improveperformance. For example, if you have a website that looks up productinformation with a product id using the same query each time, aprepared statement should be used. A prepared statement is aprecompiled SQL statement and its use saves the database fromrepeatedly having to compile the SQL statement each time it isexecuted.Here is another example of inserting with a prepared statement thatuses the various setXXX() methods. This example uses the tablecreated in Creating a MySQL Table to Store Java Types.
A query in a prepared statement contains placeholders(represented by the '?' character) instead of explicit values. Youset values for these placeholders and then execute the preparedstatement.
try {
// Prepare a statement to insert a record
String sql = "INSERT INTO my_table (col_string) VALUES(?)";
PreparedStatement pstmt = connection.prepareStatement(sql);
// Insert 10 rows
for (int i=0; i<10; i++) {
// Set the value
pstmt.setString(1, "row "+i);
// Insert the row
pstmt.executeUpdate();
}
} catch (SQLException e) {
}
COPY
try {
// Prepare a statement to insert a record
String sql = "INSERT INTO mysql_all_table("
+ "col_boolean,"
+ "col_byte,"
+ "col_short,"
+ "col_int,"
+ "col_long,"
+ "col_float,"
+ "col_double,"
+ "col_bigdecimal,"
+ "col_string,"
+ "col_date,"
+ "col_time,"
+ "col_timestamp,"
+ "col_asciistream,"
+ "col_binarystream,"
+ "col_blob) "
+ "VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
PreparedStatement pstmt = connection.prepareStatement(sql);
// Set the values
pstmt.setBoolean(1, true);
pstmt.setByte(2, (byte)123);
pstmt.setShort(3, (short)123);
pstmt.setInt(4, 123);
pstmt.setLong(5, 123L);
pstmt.setFloat(6, 1.23F);
pstmt.setDouble(7, 1.23D);
pstmt.setBigDecimal(8, new BigDecimal(1.23));
pstmt.setString(9, "a string");
pstmt.setDate(10, new java.sql.Date(System.currentTimeMillis()));
pstmt.setTime(11, new Time(System.currentTimeMillis()));
pstmt.setTimestamp(12, new Timestamp(System.currentTimeMillis()));
// Set the ascii stream
File file = new File("infilename1");
FileInputStream is = new FileInputStream(file);
pstmt.setAsciiStream(13, is, (int)file.length());
// Set the binary stream
file = new File("infilename2");
is = new FileInputStream(file);
pstmt.setBinaryStream(14, is, (int)file.length());
// Set the blob
file = new File("infilename3");
is = new FileInputStream(file);
pstmt.setBinaryStream(15, is, (int)file.length());
// Insert the row
pstmt.executeUpdate();
} catch (SQLException e) {
} catch (FileNotFoundException e) {
}
- java中的mysql insert 避免直接用insert语句
- MYSQL INSERT INTO语句
- MYSQL INSERT INTO语句
- mysql insert update语句
- MySQL insert update语句
- MySQL INSERT INTO语句
- Mysql insert语句
- MySQL,INSERT语句
- oracle中的insert语句
- oracle中的insert语句
- java中insert语句
- MysqL用insert语句批量插入数据
- MySQL的INSERT语句小结
- Mysql insert语句的优化
- MYSQL INSERT UPDATE DELETE 语句
- mysql 执行大量insert语句
- Mysql insert语句的优化
- Mysql insert语句的优化
- linux shell man命令详细介绍-快捷获得帮助信息(2)
- javascript提交到jsf
- linux shell命令快捷获得系统帮助(一)[man-pages定义规范]
- Ruby 和 Python 相比有什么优势和缺陷?
- 关于编程命名规则与代码风格
- java中的mysql insert 避免直接用insert语句
- Linux的经典shell命令整理
- apache2安装
- 功能强大的编辑器——Vi
- CGIC简明教程1:使用CGIC的基本思路
- CGIC简明教程2:获取Get请求字符串
- CGIC简明教程3:反转义
- CGIC简明教程4:获取请求中的参数值
- 用C语言库(CGIC)编写CGI,实现文件上传