JDBC批处理
批量处理允许您将相关的SQL语句分组到批处理中,并通过对数据库的一次调用提交它们。 当
您一次向数据库发送多个SQL语句时,可以减少连接数据库的开销,从而提高性能。
Statement批处理
步骤:
- 使用createStatement()方法创建Statement对象。
- 使用setAutoCommit()将auto-commit设置为false 。
- 使用addBatch()方法在创建的语句对象上添加您喜欢的SQL语句到批处理中。
String sql1 = “…”;
statement.addBtch(sql1);
- 在创建的语句对象上使用executeBatch()方法执行所有SQL语句。
返回的是int类型的数组
- 最后,使用commit()方法提交所有更改。
PreparedStatement批处理
步骤:
- 使用占位符创建SQL语句。
- 使用prepareStatement() 方法创建PrepareStatement对象。
使用SetString(); - 使用setAutoCommit()将auto-commit设置为false 。
- 使用addBatch()方法在创建的语句对象上添加您喜欢的SQL语句到批处理中。
- 在创建的语句对象上使用executeBatch()方法执行所有SQL语句。
- 最后,使用commit()方法提交所有更改。
反射处理结果集
工具类定义:
properties文件保存数据库信息-特点:key-value存储方式
db.properties:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/yhp
user=root
password=123456
工具类中读取属性文件:
方式一:
InputStream inputStream = 当前类名.class.getClassLoader() .getResourceAsStream("db.properties");
Properties properties = new Properties(); properties.load(inputStream);
dirverName = properties.getProperty("driver");
url = properties.getProperty("url");
username = properties.getProperty("user");
password = properties.getProperty("password");
方式二:
static{
//参数只写属性文件名即可,不需要写后缀
ResourceBundle bundle = ResourceBundle.getBundle("db");
driver = bundle.getString("driver");
url = bundle.getString("url");
username = bundle.getString("user");
password = bundle.getString("password");
}
说明:
使用ResourceBundle访问本地资源
在设计时,我们往往需要访问一些适合本地修改的配置信息,如果作为静态变量,那每
次修改都 需要重新编译一个class,.config保存此类信息并不适合,这时我们需要
ResourceBundle。
通过ResourceBundle,我们需要访问位于/WEB-INF/classes目录下的一个后缀名为
properties的文本 类型文件,从里面读取我们需要的值。