第一,JDBC叫java数据库连接技术,是用来实现数据库的增、删、改、查的接口技术。
第二,实现数据库的连接步骤:在这之前需要导包
1,准备四大参数
a,,准备驱动类:driverClassName:com.mysql.jdbc.Driver
b,准备url:jdbc:mysql://localhost:3306/DATABASE(注:DATABASE为所创建的数据库名称)
c,准备数据库用户
d,准备数据库密码
2,加载驱动类
Class.forName("com.mysql.jdbc.Driver");
3,获取连接对象connection;
Connection con = DriverManager.getConnection(url, username, password);
第三:实现对啊网数据库的增、删、改、查
1,获取Statement发送器,向数据库发送sql语气。
Statement stmt = con.createStatement();
2,调用Statement的 int executeUpdate(String sql)方法发送sql语气。可以发送DML,DDL
String sql = "DELETE FROM stu";
int r = stmt.executeUpdate(sql);
注:对数据库的增删改查重要改 int r = stmt.executeUpdate(sql);的sql就行了。
3,执行查询:获取ResultSet结果集
ResultSet rs = stmt.executeQuery(sql);
4,解析ResultSet结果集
a,把行光标移动到下一行,可以调用next()方法完成。
while(rs.next()) {//把光标向下移动一行,并判断下一行是否存在!
int empno = rs.getInt(1);//通过列编号来获取该列的值!
String ename = rs.getString("ename");//通过列名称来获取该列的值
double sal = rs.getDouble("sal");
System.out.println(empno + ", " + ename + ", " + sal);
}
5,关闭资源:倒关
rs.close();
stmt.close();
con.close();//必须要关,不关就死!
public void fun3() throws Exception {
Connection con = null;//定义引用
Statement stmt = null;
ResultSet rs = null;
try {
/*
* 一、得到连接
*/
String driverClassName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/exam";
String username = "root";
String password = "123";
Class.forName(driverClassName);
con = DriverManager.getConnection(url, username, password);//实例化
/*
* 二、创建Statement
*/
stmt = con.createStatement();
String sql = "select * from emp";
rs = stmt.executeQuery(sql);
rs.last();//把光标移动到最后一行
System.out.println(rs.getRow());
rs.beforeFirst();
/*
* 三、循环遍历rs,打印其中数据
*
* getString()和getObject()是通用的!
*/
// while(rs.next()) {
// System.out.println(rs.getObject(1) + ", "
// + rs.getString("ename") + ", " + rs.getDouble("sal"));
// }
int count = rs.getMetaData().getColumnCount();
while(rs.next()) {//遍历行
for(int i = 1; i <= count; i++) {//遍历列
System.out.print(rs.getString(i));
if(i < count) {
System.out.print(", ");
}
}
System.out.println();
}
} catch(Exception e) {
throw new RuntimeException(e);
} finally {
// 关闭
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(con != null) con.close();
}
}
}