1.加载并注册数据库的驱动
Mysql的驱动类: Class.forName("com.mysql.jdbc.Driver")
Oracle的驱动类:Class.forName("oracle.jdbc.driver.OracleDriver")
注:加载前,需要建立一个lib文件夹,放置Oracle中的ojdbc5.jar文件。通过Add to Build Path 导入工程里。
2.创建一个连接对象,与数据库物理连接
//url为物理连接网址。Oracle中为:jdbc:oracle:thin:@localhost:1521:dbname (localhost主机名,如果使用网络,为互联网ip 1521:oracle默认端口号 dbname:数据库名Oracle sid)
//user="scott" 即为数据库用户名
//password="tiger" 为用户密码
Connection conn = DriverManager.getConnection(url,user,password)
如果连接成功,conn就实例化,有值了。
3.创建statement对象,完成sql语句调用
Statement stmt = conn.createStatment()
4.创建sql语句
String sql = "select * from emp"
5.获取数据,获取查询结果,返回结果集
ResultSet rs = stmt.executeQuery(sql)
6.关闭资源
rs.close();
conn.close();
特别注意的是,如果使用statment类,容易发生sql注入。解决办法,让字符串。提前预处理。即,先处理sql语句.PreparedStatement代替Statement
PreparedStatement pstmt = conn.prepareStatement(sql)
此时,返回的结果pstmt.executeQuery()里面没有sql
当sql语句不需要返回结果时,没有结果返回集ResultSet
SQL注入?
通过sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的sql命令。