1、JDBC的概念
- JDBC(
J
ava D
ataB
ase C
onnection):为java开发者连接数据库提供了统一的编程接口,有一组java类和接口组成。
2、JDBC访问数据库流程
3、JDBC常用接口
3.1 Driver
Class.forName("com.mysql.jdbc.Driver");
Class.forName("oracle.jdbc.driver.OracleDriver");
3.2 DriverManager和Connection
- DriverManager是JDBC 的管理层,用于用户和驱动之间;跟踪可用的启动程序,并在数据库和程序之间建立连接。
- Connection用于连接数据库,在连接上下文中执行sql语句并返回结果。
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:8080/Test","root","123456");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:Test","scott","123456");
3.3 Statement
三种Statement类:
- Statement:由createStatemrnt创建,用于发送简单的sql语句(不带参数的),容易发生sql注入。
- PreparedStatement:由prepareStatement创建,用于发送含参数的sql语句,可以防止sql注入。
- CallableStatement:由prePareCall创建,用于调用存储过程。
常用的Statement方法:
- execute():运行语句,返回结果集。
- executeQuery():运行selete语句,返回ResultSet结果集。
- executeUpdate():运行insert/update/delete操作,返回更新的行数。
String sql = "insert into people(no,name) values(?,?)";
PrepareStatement ps = con.prepareStatement(sql);
ps.setObject(1, 1001);
ps.setObject(2, "zhangsan");
ps.execute();
String sql = "select * from peole";
PrepareStatement ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next()){
System.out.println(rs.getInt(1) + "----" + rs.getString(2));
}