java之连接数据库之JDBC访问数据库的基本操作
1.将数据库的JDBC驱动加载到classpath中,在基于JavaEE的web应用实际开发过程中通常要把目标数据库产品的JDBC驱动复制到WEB—INF/lib下。
2.加载JDBC驱动并将其注册到DriverManager中。
Oracle数据库
Class.forName("oracle.jdbc.driver.oracleDriver");
SQL数据库
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
3.建立数据库连接,取得Connection对象。
SQL 数据库
String url="jdbc:sqlserve://localhost:1433;databaseName=LiZanQi";
String user="sa";
String password="sa";
Connection conn=DriverManager.getConnection(url,user,password);
4.建立Statement对象 或PerparedStatement对象
Statement statement=conn.createStatement();
PreparedStatement pstatement=conn.prepareStatement(所要执行的sql语句);
pstatement.setString(第一个占位符, 占位符的内容);
pstatement.setString(第二个占位符, 占位符的内容);
利用PreparedStatement可以避免数据库的注入攻击!
5.执行SQL语句
String Sql="select * from 表名";
ResultSet rs=statement.executeQuery(Sql);或者ResultSet rs=pstatement.executeQuery();
执行查询语句是用executeQuery();
但是在执行“插入”,“更新”“删除”语句时就需要用executeUpdate();方法了
6.访问结果记录集ResultSet对象
一般用while循环
while(rs.next()){
依次读取结果。
}
7.依次将ResultSet对象,Statement对象或PerparedStatement对象Connection对象关闭释放所占用的资源
rs.close();
statement.close();或者pstatement.close();
conn.close();
8.总结
PreparedStatement:
1.提高了安全性可以防止注入攻击
2.提高了数据库语句的执行性能。
3.提高了代码的可读性和可维护性。
其中PreparedStatement接口继承自Statement接口
JDBC API做了哪三件事:
1.与数据库建立连接。
2.执行数据库的语句。
3.处理结果。
DriverManager类:依据数据库的不同,管理JDBC驱动。
Connection接口:负责连接数据库并担任传送数据的任务。
statement接口:由Connection对象创建,负责执行数据库语句。
ResultSet 接口:负责保存Statement对象执行后所产生的查询结果。
除了executeQuery方法和executeUpdate方法之外还有execute方法可以执行可以执行所有的语句,当获得true时表示返回了一个ResultSet结果集。
方法:
next() :将光标从当前位置向下移动一行。
previous():游标从当前位置向上移动一行。
void close():关闭当前对象。
int getInt(int colIndex)获取指定列号的当前行。
int getInt(String colIndex)获取指定列名的当前行。
String getString(String colLabel)获取结果集当前行指定列名值。