补充内容
两个类:获得数据库和结果集的信息
DatabaseMetaData
ResultSetMetaData
package lesson2;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
/**
* 补充知识点 :两个查询数据库信息的类
* @author hh
*
*/
public class JdbcDemo4 {
public static void main(String[] args) {
Connection con = JdbcUitl.getConn();
try {
//获得数据库的信息
DatabaseMetaData dmd = con.getMetaData();
// System.out.println(dmd.getDatabaseProductVersion()); //获取数据库版本
// System.out.println(dmd.getDatabaseProductName()); //获取数据库名称
PreparedStatement pstmt = con.prepareStatement("select * from bb_user");
ResultSet rs = pstmt.executeQuery();
//封装的是结果集的信息
ResultSetMetaData rsmd = rs.getMetaData();
int cols = rsmd.getColumnCount(); //获取列数
// System.out.println(cols);
for (int i = 1; i <=cols; i++) {
System.out.println(rsmd.getColumnName(i)); //获取列名
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
批处理
package lesson2;
import java.sql.Connection;
import java.sql.PreparedStatement;
/**
* 补充信息
* @author hh
*
*/
public class JdbcDemo5 {
public static void main(String[] args) {
try {
Connection con = JdbcUitl.getConn();
PreparedStatement pstmt = con.prepareStatement("insert into tt values(?)");
for(int i=1;i<=1000;i++){
pstmt.setInt(1, i);
pstmt.addBatch();
if(i%10==0){ //每10条,执行一次插入操作
pstmt.executeBatch(); //执行
pstmt.clearBatch(); //清空
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
插入日期操作
- 利用 java.sql.Date 操作
- 用于数据库日期对应的字符串:pstmt.setString(2, “18-10月-94”)
- 格式化时间对象:SimpleDateFormat sdf = new SimpleDateFormat(“dd-MM月-yyyy”)
package lesson2;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.text.SimpleDateFormat;
/**
* 插入日期操作
* @author hh
*
*/
public class JdbcDemo6 {
public