# 數據庫操作
### 介紹
數據庫鏈式操作也算是Gentle-Restful的一個創新點吧,思路有些模仿了thinkphp。以我自己的項目為例子給大家看看區別吧。
###### 未使用框架
```java
public boolean add(String email, String nickname, String password, long dateline, String qqIdentify) {
Connection connection = null;
password = Util.getMD5(password, false);
try {
connection = DbHelper.get();
String sql = "INSERT INTO `user` (`nickname`, `email`, `password`, `register_time`, `qq_identify`) " +
"VALUES (?,?,?,?,?)";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, nickname);
ps.setString(2,email);
ps.setString(3, password);
ps.setLong(4, dateline);
ps.setString(5, qqIdentify);
ps.executeUpdate();
return true;
} catch (SQLException e) {
return false;
} finally {
DbHelper.close(connection);
}
}
```
###### 使用框架后
```java
public boolean add(UserEntity entity) {
Connection connection = null;
try {
connection = DbHelper.get();
SqlUtil sqlUtil = new SqlUtil(connection);
return sqlUtil.table("user").insert(entity)==1;
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
DbHelper.close(connection);
}
}
```
怎么樣,是不是簡單了很多,使用框架后只需要傳入一個實體,也就是bean即可執行插入操作,當然還有很多優點讓我后面娓娓道來。
### 特點
###### 優點
* 簡介的鏈式操作
* 無需復雜的`prepareStatement`操作,框架自動幫你完成
* ResultSet快速轉化,方面直接使用
* 如果鏈式操作無法滿足你的需求,你可以自己寫原生的SQL語句。
###### 缺點
* 只有支持Mysql,當然如果后面框架使用人多了我也會兼容其他數據庫
* 不支持事務
### 用法
##### 增 `insert`
##### 刪 `delete`
##### 改 `update`
##### 查 `select`
##### 使用原生的SQL語句