DDL (Data Definition Language) |
DML
(Data Manipulation Language) |
DCL
(Data Control Language) |
TCL (Transaction Control Language) |
Create | Select | Grant | Commit |
Alter | Insert | Revoke | Savepoint |
Drop | Update | rollback | |
Truncate | Delete | Set transaction | |
Comment | Merge | ||
Rename | Call | ||
Explain plan | |||
Lock-table |
Month: July 2016
Generics
A class, interface or method that declares one or more type variables (type parameters).
Advantages:
- Type-Casting
- Type-Safety (single type of objects)
- compile-time checking
public Class Box{ ——–> public Class Box<T>{
private Object obj; private T t;
public void set (Object obj){ public void set(T t){
this.obj=obj; this.t=t;
} }
public Object get(){ public T get(){
return obj; return t;
} }
} }
Transaction isolation levels
1 | Read Uncommitted | The user A start a query, then user B made some changes, A will see the changes have not been committed yet (dirty read) |
2 | Read committed | The user A start a query, user B made some changes and commit. But A will not see the changes made by B. |
3 | Repeatable Read | The user A will not see the changes made by B (insert/delete) read the snapshot established by the first read, so 2 queries executed, with 2 different results (phantom read). |
4 | Serializable | All transactions are completely in isolation fashion, executed serially one after another (lock-based concurrency control). |
In Oracle, Repeated Read level is not supported, but in MySQL default isolation level is repeated Read.
Statement vs. PreparedStatement in JDBC
Statement |
PreparedStatement |
for executing static SQL statements | execute dynamic queries with parameter inputs |
use String Concatenation to create the query and it can’t accept input parameters | Use setter methods to set the input parameters for the query |
Suitable for DDL | Suitable for DML |
Slower | Faster |
Prevent SQL Injection attacks | |