備份和還原java
備份: mysqldump -u 用戶名 -p 密碼 數據庫 > 文件名 還原: 登陸使用數據庫 use 數據庫 source 文件名
設置事務回滾點mysql
設置事務回滾點: savepoint 名字 回到回滾點: rollback to 名字
JDBC的本質就是定義了一套操做全部關係型數據庫(MySQL、Oracle等)的規則/接口。sql
若是數據庫出現亂碼,能夠指定參數: ?characterEncoding=utf8,表示讓數據庫以 UTF-8 編碼來處理數據。 jdbc:mysql://localhost:3306/數據庫?characterEncoding=utf8
1) 須要釋放的對象: ResultSet 結果集, Statement 語句, Connection 鏈接 2) 釋放原則:先開的後關,後開的先關。 ResultSet Statement Connection 3) 放在哪一個代碼塊中: finally 塊
方法 | 描述 |
---|---|
boolean next() | 1) 遊標向下移動 1 行 2) 返回 boolean 類型,若是還有下一條記錄,返回 true,不然返回 false |
數據類型 getXxx() | 1) 經過字段名,參數是 String 類型。返回不一樣的類型 2) 經過列號,參數是整數,從 1 開始。返回不一樣的類型 |
SQL 類型 | Jdbc 對應方法 | 返回類型 |
---|---|---|
BIT(1) bit(n) | getBoolean() | boolean |
TINYINT | getByte() | byte |
SMALLINT | getShort() | short |
INT | getInt() | int |
BIGINT | getLong() | long |
CHAR,VARCHAR | getString() | String |
Text(Clob) Blob | getClob getBlob() | Clob Blob |
DATE | getDate() | java.sql.Date 只表明日期 |
TIME | getTime() | java.sql.Time 只表示時間 |
TIMESTAMP | getTimestamp() | java.sql.Timestamp 同時有日期和時間 |
java.sql.Date、 Time、 Timestamp(時間戳),三個共同父類是: java.util.Date數據庫
Statement對象每執行一條sql語句,都會先將sql語句發送給數據庫,數據庫先編譯sql,再執行。若是有1萬條相似的sql語句,數據庫須要編譯1萬次,執行1萬次,效率低。
PrepareStatement會先將sql語句發送給數據庫預編譯。PrepareStatement會引用預編譯後的結果,能夠屢次傳入不一樣的參數給PrepareStatement對象,並執行。若是有1萬條相似的sql語句,數據庫只須要編譯1次,傳入1萬次不一樣的參數並執行,減小了sql語句的編譯次數,提升了執行效率。還能夠有效防止sql注入問題,安全性更高。
API安全
Connection 接口中與事務有關的方法 | 說明 |
---|---|
void setAutoCommit(boolean autoCommit) | 參數是 true 或 false 若是設置爲 false,表示關閉自動提交,至關於開啓事務 |
void commit() | 提交事務 |
void rollback() | 回滾事務 |