接下来看看传统的查询方式(一个完整的查询)
package com.java.mysql;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
*
* Title: db.java *
// 遍历查询结果集
while (rs.next()) {
String id = rs.getString(1);// 获取第一列数据
String username = rs.getString(2); // 获取第二列数据
String pwd= rs.getString(3); // 获取第三列数据
System.out.println(id + "\\t" + username + "\\t" + pwd);// 输出结果
}
rs.close();
con.close();
} catch (ClassNotFoundException e) {
System.out.println("无法加载驱动");
e.printStackTrace();// 数据库驱动类异常处理
} catch (SQLException e) {
e.printStackTrace();// 数据库连接失败异常处理
} catch (Exception e) {
e.printStackTrace();
}
}
}
上面完成了对db_student数据库中admin表的查询,而且得到了结果
但是这样的并没有实现代码复用,当别的实体需要查询或者其他操作时,还需要重复的连接等过程,所以我们对常用操作进行封装,将数据库的基本“增、删、查、改”封装到一个类里面
DbUtil.java(数据库操作工具类)
package com.student.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*
* 项目名称:
*
* 文件名称为:DbUtil.java
* 文件创建人:daxiang
*
* 修改记录:
* 修改人 修改日期 备注
*
*
*
* @author daxiang
* @version
* @time 2018年6月14日 上午9:16:44
* @copyright daxiang
*/
public class DbUtil {
private Connection con;// 声明Connection对象
public DbUtil() {
String driver = "com.mysql.jdbc.Driver";// 驱动程序名
String url = "jdbc:mysql://localhost:3306/db\_student?characterEncoding=utf8";// URL指向要访问的数据库名mysql
String user = "root";// MySQL配置时的用户名
String password = "123";// MySQL配置时的密码
try {
// 加载驱动
Class.forName(driver);
// 获取连接
con = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
/\*\*
\* 增、删、改
\*
\* @return
\* @throws SQLException
\*/
public boolean execute(String sql) throws SQLException {
// 获取操作对象
Statement statement = con.createStatement();
// 执行
if (statement.executeUpdate(sql) > 0) {
return true;
}
return false;
}
/\*\*
\* 查询
\*
\* @param sql
\* @return
\* @throws SQLException
\*/
public ResultSet executeQuery(String sql) throws SQLException {
// 获取操作对象
Statement statement = con.createStatement();
// 执行
return statement.executeQuery(sql);
}
}
package com.demo.util;
/*
* 项目名称:
*
* 文件名称为:AppConstants.java
* 文件创建人:daxiang
*
* @author daxiang
* @version
* @time 2018年6月13日 下午7:57:10
* @copyright daxiang
*/
public class AppConstants {
// jdbc
public static final String JDBC_URL = "jdbc:mysql://127.0.0.1:3306/db_student?characterEncoding=utf8";
public static final String JDBC_USERNAME = "root";
public static final String JDBC_PASSWORD = "123";
public static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
}
这样封装后我们就可以简化服务类中的代码,请看
手机扫一扫
移动阅读更方便
你可能感兴趣的文章