資料庫的連線(一)——jdbc
阿新 • • 發佈:2018-12-25
資料庫的連線
常用的資料庫是Oracle和MySQL資料庫,連線方式在不同的框架中又有著不同,在這裡我就簡要闡述jdbc連線方式。
jdbc的連線主要可以分為六步:
1、載入驅動
Class.forName("oracle.jdbc.driver.OracleDriver");
2、連線資料庫(這裡我提供兩種引數配置方式):
(1)直接拼串
String url ="jdbc:oracle:thin:@127.0.0.1:ORCL";
String user =“root”;
String password = “root”;
Connection con = DriverManager.getConnection(url,user,password);
***127.0.0.1是資料庫所在的主機IP,127.0.0.1是本機的。ORCL是資料庫例項名。***
(2)使用properties類
Properties properties = new Properties();
properties.put("user","使用者名稱");//前面的user是固定不變的
properties.put("password","密碼");//password固定不變
Connection con = DriverManager.getConnection(url,properties);
3、編寫SQL語句(這裡提供兩種方式)
(1)、字串拼串
String sql ="select * from table_name where name="+name;
(2)、用PreparedStatement的setObject(n,"引數");賦值
String sql = "select * from table_name where name =?";
preparedStatement.setObject(1,"name");
**注意這裡的n是?的位置從1開始,setObject(),不是固定的,也可以是setString(),這個取決於引數的型別**
4、執行SQL語句
執行sql語句一般有兩種,一種是使用Statement方式,另一種是PreparedStatement,兩種的區別主要是PreparedStatement可以防止注入,那什麼叫防注入呢,現在簡單的講就是防止客戶輸入惡意程式碼,破壞資料庫,這個我將會在另一篇中寫到,接下來,我將這兩種方式都寫一下
(1)、Statement
Statement statement = con.createStament();
ResultSet resultSet = statement.execute(sql);//可能返回多個結果,得到結果集
(2)、PreparedStatement
PreparedStatement preparedStatement = con.createPreparedStatement(sql);
//這裡填寫引數,呼叫preparedStatemen.setObject(),完成sql語句
ResultSet resultSet = preparedStatement.execute();
5、處理結果集
resultSet.next()//判斷下一行是否有資料,一開始其中的遊標指向的是表的最上方,不是第一行資料
resultSet.getObject(),//得到資料
6、關閉流
我們前面定義的con、statement、preparedStatement、resultSet都要關閉,因此我們可以寫一個finally,呼叫各自的close()方法使得這些介面一定能夠被關閉!
以上就是一般的jdbc的連線資料庫的過程。在ssm框架中的配置,將寫在另一篇部落格中,謝謝!