JavaWeb——操作数据库之 JDBC 批处理MySQL
其他
2020-02-08 18:31:00
阅读次数: 0
JavaWeb——JDBC 操作数据库
六、MySQL 批处理
- 批处理,在数据库中是一个经常进行的操作,接下实现在 JSP 页面对 MySQL 数据库进行批处理操作。
1、准备步骤
- 首先在 MySQL 的目标数据库,新建一个数据表:
CREATE TABLE `tb_students` (
`id` int(10) unsigned NOT NULL COMMENT '学号',
`name` varchar(45) NOT NULL COMMENT '姓名',
`sex` tinyint(1) NOT NULL COMMENT '性别',
`age` int(10) unsigned NOT NULL COMMENT '年龄',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生信息表'
- 在可视化界面如下:
2、编写 Bean
- 新建一个 Bean,命名为 Batch,代码如下:
package com.lyq.bean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Batch {
public Connection getConnection(){
Connection conn;
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8";
String username = "root";
String password = "********";
try{
conn = DriverManager.getConnection(url, username, password);
if(conn != null)
{
return conn;
}
}catch (SQLException e){
e.printStackTrace();
}
}catch (ClassNotFoundException e){
e.printStackTrace();
}
return null;
}
public int saveBatch(){
int row =0;
Connection conn = getConnection();
try{
String sql = "insert into tb_students(id,name,sex,age) values(?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
for(int i=0; i<10; i++){
ps.setInt(1,i+1);
ps.setString(2, "学生"+i);
ps.setBoolean(3, i % 2 == 0);
ps.setInt(4, (((i+1)%10)*2+10));
ps.addBatch();
}
int[] rows = ps.executeBatch();
row = rows.length;
ps.close();
conn.close();
}catch (SQLException e){
e.printStackTrace();
}
return row;
}
}
3、应用 Bean
4、检查后台数据库情况
- 执行查询语句返回结果:
- 可见批处理成功执行。
上一篇
下一篇
发布了146 篇原创文章 ·
获赞 15 ·
访问量 1万+
转载自blog.csdn.net/qq_42896653/article/details/103375979