异常抛出不作说明
第0步,准备连接到数据库的jar包(经常被忽略的一个重要步骤)
//添加jar包的方法(eclipse):项目–>属性–>库–>添加JAR包
第1步,加载JDBC驱动程序(加载数据库驱动到jvm)
Class.forName(“con.mysql.jdbc.Driver”);
作用:将Driver类的实例注册到DriverManager类中。
第2步,提供到db的连接
例如:String url=”jdbc.mysql://localhost:3306/teset”;
String username=”root”;
String password=”root”;
Connection con=DriverManager.getConnection(url,username,password);
//向DriverManager请求获得Connection对象
// jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
第3步,创建Statement
静态SQL通过Statement
动态SQL通过PreparedStatement
数据库存储过程通过CallableStatement
具体实现方式:
Statement stmt=con.createStatement();
PreparedStatement pstmt=con.preparedStatement(sql);
CallableStatement cstmt=con.prepareCall(“{CALL demoSp(?,?)}”);
第4步,执行SQL语句
有三种方法:
executeQuery用于查询
executeUpdate 用于增删改 对于 SQL 数据操作语言 (DML) 语句,返回行计数 (2) 对于什么都不返回的 SQL 语句,返回 0
execute用于返回多个结果集多个更新计数或者二者结合的语句。
ResultSet rs=stmt.executeQuery(“select * from studen”);
int rows =stmt.executeUpdate(sql);
boolean flag=stmt.execute(String sql);
第5步处理结果
得到的结果是一个元组或者说集合
while(rs.next()){
String name=rs.getString(“name”);
或者写作//rs.getString(1)列数; System.out.println(name);
}
第六步关闭对象
注意 和声明顺序相反