# 数据库操作
### 介绍
数据库链式操作也算是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语句