标签:jdbc
主语类和接口:
DriverManager类,Connection接口,Statement接口,ResultSet接口;
1:加载驱动类到jvm中
Class.forName("");
参数为数据库驱动类;
2:建立连接
Connection con=DriverManager.getConnection();
建立与数据库的连接;
3:发送sql语句,并调用执行方法
Statement st=con.createStatement();
ResultSet rs=st.executeQuery(sql):
int rows=st.executeUpdate(sql);
rs是返回查询的结果集,rows返回影响的行数;
4:由内向外一次关闭资源;
说明:
1: Statement和PreparedStatement的区别:
Statement执行静态sql,有参数时候,拼接到sql,有sql注入的风险;
PrepareedStatement可以设置占位符,执行动态sql,可以防止sql注入,可以对sql预编译,即编译一次被缓存下来,再执行相同sql无需编译,可以提高执行效率;
PreparedStatement继承于Statement;
2:批量处理(select除外)
批量处理,是一次连接执行多次sql语句。
PreparedStatement设置好站位符的值后,执行一次addBatch()方法;再设置一次站位符的值,addBatch()方法一次。。。。如此多次便添加了多条sql。执行用 PreparedStatement的executeBatch()方法。
3:执行存储过程
执行存储过程,用CallStatement
CallStatement继承于PrepareStatement,PrepareStatement继承于Statement
CallStatement ca=conn.prepareCall("{ call 过程名 }");
查询结果集 ResultSet rs=ca.executeQuery();
数据源和连接池:
数据源:是数据的来源;
连接池:是缓存的一定数量的数据库连接,当与数据库建立连接时候,直接在连接池中取出一个空闲的连接,用完再放回去,不用自己来回的开启关闭连接,提高数据库连接的性能;
标签:jdbc
原文地址:http://blog.csdn.net/liangwenmail/article/details/47260765