packagecom.zdsoft;import java.sql.*;/*** Created by lx on 2017/6/22.*/
public classJDBCUtil {private staticJDBCUtil jdbcUtil;//驱动路径
private static String DRIVER="com.mysql.jdbc.Driver";//数据库的连接路径
private static String URL="jdbc:mysql://localhost:3306/test";//用户名
private static String userName="root";//密码
private static String passWord="123456";privateConnection connection;privatePreparedStatement statement;
ResultSet resultSet;/*** 加载驱动*/
static{try{
Class.forName(DRIVER);
}catch(ClassNotFoundException e) {
e.printStackTrace();
}
}/*** 私有化构造器*/
privateJDBCUtil(){
}/*** 双重检索单例*/
public staticJDBCUtil getInstance(){if (jdbcUtil==null){synchronized (JDBCUtil.class){if (jdbcUtil==null){
jdbcUtil=newJDBCUtil();
}
}
}returnjdbcUtil;
}/*** 用来做增删改操作的方法
*@paramsql String类型sql语句
*@paramargs Object类型可变长度参数
*@returnint 类型等于-1添加失败,大于0 添加成功*/
public intupdate(String sql ,Object...args){int count=-1;//打开数据库连接
getConnection();try{//创建预加载对象
statement=connection.prepareStatement(sql);if (args!=null){for (int i=0;i
statement.setObject(i+1,args[i]);
}
}//执行sql语句
count=statement.executeUpdate();
}catch(SQLException e) {
e.printStackTrace();
cloes();returncount;
}
cloes();returncount;
}/*** 查询通用操作方法
*@paramsql String 类型 本次操作的sql语句
*@paramargs Object 类型 可变长度的参数
*@return返回resultset 类型 结果集 如出现异常则返回 null*/
publicResultSet query(String sql,Object...args){//打开连接
getConnection();try{//创建sql操作对象
statement=connection.prepareStatement(sql);if (args!=null){for (int i=0;i
statement.setObject(i+1,args[i]);
}//执行sql语句
resultSet=statement.executeQuery();
}
}catch(SQLException e) {
e.printStackTrace();
cloes();return null;
}returnresultSet;
}/*** 打开连接的方法*/
public voidgetConnection(){try{
connection=DriverManager.getConnection(URL,userName,passWord);
}catch(SQLException e) {
e.printStackTrace();
}
}public voidcloes(){if (resultSet!=null){try{
resultSet.close();
}catch(SQLException e) {
e.printStackTrace();
}finally{if (statement!=null){try{
statement.close();
}catch(SQLException e) {
e.printStackTrace();
}finally{if (connection!=null){try{
connection.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
}
}