載入驅動
class.forname("com.mysql.jdbc.driver");
由於該類底層**在載入類時存在靜態**初始建立物件,如果用new建立物件就會出現兩個物件。
獲取資料庫連線
connection conn = drivermanager.getconnection(url, user, password);
string url="jdbc:mysql:";
string user="root";
string password="tiger";
drivermanager.getconnection(url,user,password);
建立通道
// 少用,會發生sql注入
// 單數在模糊查詢時可能需要用 #{}
statement stmt = con.createstatement() ;
// 有預編譯機制,用 ${} 預編譯為佔位符,更安全
preparedstatement pstmt = con.preparestatement(sql) ;
編寫sql語句
string sql = "select * from table_test;"
繫結sql執行下,返回結果
resultset rs = stmt.executequery(sql) ;
遍歷結果集
while(rs.next())
關閉資源
if(rs != null)catch(sqlexception e)
}
if(stmt != null)catch(sqlexception e)
}
if(conn != null)catch(sqlexception e)
}
如sql、登入賬號密碼、連線的資料庫名等都是寫死在**中,屬於「硬編碼」,不易後期維護;
每次使用都需要獲取和關閉資源,造成大量資源浪費;後期的資料庫連線池可以解決這個問題,即復用一組連線資源;
資料庫相關
1.操作類 godb public goosundb open throws sqlexception public void close public cursor search int mark mark mark,null,null,null,col date desc if cursor n...
資料庫相關
資料庫的設計 分庫分表,記憶體資料庫,主從讀寫分離,資料庫中介軟體mycat 整合了主從讀寫分離,分庫分表等功能 資料庫優化 sql語句優化,資料庫配置優化,索引優化,資料庫設計優化 資料庫的鎖 1.樂觀鎖,表中增加版本字段,每次更改加1,查的時候先把版本字段查出來,更新的時候加上條件版本欄位沒變,...
資料庫相關
1 多顯示乙個字段,格式 使用者名稱 手機號 select concat name,tel from user 2 手機號顯示 132 22 select concat left tel,3 right tel,2 as 安全手機號 from user 1 多顯示乙個字段,格式 使用者名稱 手機號 ...