JDBC的全称是:Java Database Connectivity,即Java数据库连接。
JDBC可以通过载入不同的数据库的“驱动程序”而与不同的数据库进行连接。
那么,在数据库连接的时候,我使用的是MySQL,Java集成开发环境是Eclipse。
要使用JDBC来访问MySQL数据库,首先需要添加MySQL数据库驱动程序。
一、加载JDBC驱动程序
在和某一特定数据库建立连接之前,必须首先加载一种可用的JDBC驱动程序到JVM。使用java.lang.Class类的forName(StringclassName)方法来装载数据库驱动类,并进行类的初始化操作。
Class.forName("oracle.jdbc.driver.OracleDriver");
参数中的字符串oracle.jdbc.driver.OracleDriver代表什么?它其实是程序中引入的ojdbc14.jar中的OracleDriver.class的路径
二、创建数据库连接
在使用JDBC操作数据库之前,必须首先打开一个数据库连接。
创建和指定数据库的连接需要使用DriverManager类的getConnection()方法,代码:
String url="jdbc:oracle:thin:@localhost:1521:bjpowernode"; //驱动程序名:@主机名/IP:端口号:数据库实例名
String username="DbName";
String password="pwd";
conn=DriverManager.getConnection(url,username,password);
三、创建Statement对象
在已经建立数据库连接的基础上,向数据库发送要执行的sql语句。创建Statement对象是使用Connection接口的createStatem()方法来实现的。
执行静态sql语句,通常使用Statement对象。 Statement smt = conn.createStatement();
执行动态sql语句,通常使用PreparedStatement对象 PreparedStatement pstmt = con.prepareStatement(sql)
执行数据库存储过程,通常使用callableStatement对象 CallableStatement cstmt =con.prepareCall("{CALL demoSp(? , ?)}")
四、执行SQL语句
一般常用的就是statement对象的 ResultSet executeQuery()方法和 int execute()方法。当然还有其他更多方法……
五、处理sql的返回结果
JDBC接收返回结果是通过ResultSet类的对象来实现的。一个ResultSet对象包含了执行某个sql语句后的所有行,通过getXXX()方法来访问当前行的不同列的值。
String userName = rs.getString("userName");//通过列名取值
Int age= rs.getInt(1);//通过索引号取值,索引号从1开始
六、关闭创建的各个对象
由里到外的关闭,先关闭resultSet,再关闭Statement,最后关闭Connection。