您的位置:首页 > 编程语言 > Java开发

Java 中SQL 数据库连接模板写法.

2016-12-13 23:32 387 查看
最开始自己按照刚开始进行各种操作都没有问题,按照自己的理解进行了数据库操作连接代码的编写 但是遇到了很多坑,比如,数据库 查询结果集时,在接着查询别的结果集就会出现 Result is closed 的情况。

package database;
import java.sql.*;
import domain.User;
public class Connect {
Connection con=null;
ResultSet result = null;
static{
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public Connect() {
try {
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/social?useSSL=false", "root", "19961217");

} catch (Exception e) {
e.printStackTrace();
con = null;
e.printStackTrace();
}
}
public void Close() { //关闭数据库的方法
try {
if(con != null &&!con.isClosed())
{
con.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}

public ResultSet executeQuery(String sql) {
try {
state = con.createStatement();
result = state.executeQuery(sql);
} catch (Exception e) {
e.printStackTrace();
result = null;
}
return result;
}

public int getLastInsertId(){
String sql = "select LAST_INSERT_ID()";
ResultSet result = executeQuery(sql);
int id = -1;
try{
id = result.getInt(0);
}catch (Exception e) {

}
return id;
}

public int executeUpdate(String sql) {
//System.out.println("connect: " + sql);
try {
state.executeUpdate(sql);
state.close();
} catch (Exception e) {
e.printStackTrace();
return -1;
}
return 0;
}
public int executeUpdateID(String sql) {
int id = -1;
try {
state.executeUpdate(sql);
ResultSet result = executeQuery("select LAST_INSERT_ID()");
if (result.next()) {
id = result.getInt(1);
System.out.println("lastid: "+id);
}
state.close();
} catch (Exception e) {
e.printStackTrace();
}
return id;
}
}


使用这样的数据库连接,就不会出现因为数据库连接而出现问题了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 java sql