1.首先通过反射com.mysql.jdbc.Driver类,实例化该类的时候会执行该类内部的静态代码块,该代码块会在Java实现的DriverManager类中注册自己,DriverManager管理所有已经注册的驱动类,当调用DriverManager.geConnection方法时会遍历这些驱动类,并尝试去连接数据库,只要有一个能连接成功,就返回Connection对象,否则则报异常。
//通过反射实例化com.mysql.jdbc.Driver,
Driver driver = (Driver)Class.forName("com.mysql.jdbc.Driver").newInstance();
2.通过使用DriverManager.geConnection(url,user,password)函数,传入url,数据库用户名,数据库密码,得到数据库的Connection对象。
com.mysql.jdbc.Driver是mysql驱动类的全名,oracle驱动类的全名是oracle.jdbc.driver.OracleDriver。
连接数据库时要传入相应的url,
mysql url的格式是:jdbc:mysql://<ip>:3306/<database_name>
oracle url的格式是:jdbc:oracle:thin:<ip>:1521:<database_name>
Connection conn =DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/notedb","root","");
(3) 创建 JDBC Statements 对象
//建立Statement对象
Statement stmt=conn.createStatement();
(4) 设置SQL语句的传入参数
//执行SQL查询
String sql="select * from users";
ResultSet rs=stmt.executeQuery(sql);
//建立PreparedStatement对象
String sql="select * from user where userName=? and password=?";
PreparedStatement pstmt=Conn.prepareStatement(sql);
pstmt.setString(1,"admin");
pstmt.setString(2,"liubin");
//执行动态SQL查询
ResultSet rs=pstmt.executeQuery();
//执行insert update delete等语句,先定义sql
stmt.executeUpdate(sql);
(5) 执行SQL语句并获得查询结果
while(rs.next)
{
out.println("你的第一个字段内容为:"+rs.getString("Name"));
out.println("你的第二个字段内容为:"+rs.getString(2));
}
(6) 对查询结果进行转换处理并将处理结果返回
(7) 释放相关资源(关闭Connection,关闭Statement,关闭ResultSet)
rs.close();
stmt.clost();
pstmt.close();
con.close();