在Eclipse中测试MySQL-JDBC(6)JDBC工具(JdbcUtil)类抽取
来源:互联网 发布:mysql数据库教学视频 编辑:程序博客网 时间:2024/05/01 14:13
【0 员工类:Employee.java】由于工具类中有使用
package com.flying.jdbc;public class Employee {private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Employee [id=" + id + ", name=" + name + ", age=" + age + "]";}}
package com.flying.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class JdbcUtils {// 数据库驱动只需要加载一次// static静态代码块在类加载的时候会执行,并且只执行一次static{try {Class.forName("com.mysql.jdbc.Driver");} catch (ClassNotFoundException e) {e.printStackTrace();}}// 对外提供获取连接的方法// 异常可以直接抛出,因为在调用该方法处还会执行try-catch.public static Connection getConnection() throws SQLException {String url = "jdbc.mysql://127.0.0.1:3306/jdbcDemo?characterEncoding=utf-8";String user = "root";String password = "root";Connection con = DriverManager.getConnection(url, user, password);return con;}//释放资源方法2 其他增删改释放资源public static void release(Connection con, Statement st) {//注意:释放资源是有先后顺序的if (st != null) {try {st.close();} catch (SQLException e) {e.printStackTrace();}}if (con != null) {try {con.close();} catch (SQLException e) {e.printStackTrace();}}}//释放资源方法1 查询的时候释放资源public static void release(Connection con, Statement st, ResultSet res) {//注意:释放资源是有先后顺序的if (res!=null) {try {res.close();} catch (SQLException e) {e.printStackTrace();}}if (st !=null) {try {st.close();} catch (SQLException e) {e.printStackTrace();}}if (con != null) {try {con.close();} catch (SQLException e) {e.printStackTrace();}}}}
注意:在释放资源的时候,如果没有使用到ResultSet结果集,那么也可以使用:
JdbcUtils.release(con, st, null);
但是这样写不符合编程规范,并且如果在其他人调用该方法的时候,就会对于方法中为什么要传递一个null存在疑惑,因此可以编写一个重载的方法来进行区分。
【2 工具类的测试类UtilstDemoTest.java】
package com.flying.jdbc;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import org.junit.Test;public class UtilstDemoTest {@Testpublic void chaxun(){Connection con = null;Statement st = null;ResultSet res = null;try {con=JdbcUtils.getConnection();String sql = "select * from employee";st = con.createStatement();res = st.executeQuery(sql);List list = new ArrayList();//处理结果集while (res.next()) {Employee emp = new Employee();emp.setId(res.getInt(1));emp.setName(res.getString(2));emp.setAge(res.getInt(3));//以下3句注释和上边的3句代码结果一样//emp.setId(res.getInt("id"));//emp.setName(res.getString("name"));//emp.setAge(res.getInt("age"));list.add(emp);}System.out.println(list);} catch (SQLException e) {e.printStackTrace();}finally{//调用工具类中的3个参数的释放资源的方式JdbcUtils.release(con, st, res);}}}
阅读全文
0 0
- 在Eclipse中测试MySQL-JDBC(6)JDBC工具(JdbcUtil)类抽取
- 在Eclipse中测试MySQL-JDBC(7)JDBC工具(JdbcUtil)类抽取 再优化
- 在Eclipse中测试MySQL-JDBC(15)c3p0配置文件对JDBC工具(JdbcUtil)类抽取 再优化
- JdbcUtil:JDBC工具类
- 在Eclipse中测试MySQL-JDBC(11)关于mysql事务管理,JDBC事务管理,回滚点
- JDBC连接数据库(Mysql、抽取工具类)
- 在Eclipse中测试MySQL-JDBC(8)sql注入的防范PreparedStatement(处理命令)
- 在Eclipse中测试MySQL-JDBC(14)c3p0配置多个数据库连接 (独立)
- 在Eclipse中测试MySQL-JDBC(1)入门【数据库查询】
- 在Eclipse中测试MySQL-JDBC(2)优化【数据库查询】
- 在Eclipse中测试MySQL-JDBC(4)删除数据库中的数据【D】
- 在Eclipse中测试MySQL-JDBC(12)自定义连接池
- javaweb_day7(JDBC)jdbc的工具类抽取
- jdbc工具类的抽取。
- jdbc 工具类的抽取
- jdbc java数据库连接 6)类路径读取——JdbcUtil的配置文件
- 在Eclipse中测试MySQL-JDBC(9)statement 批处理(同时执行多条sql语句)
- 在Eclipse中测试MySQL-JDBC(10)preparestatement批处理(同时执行多条sql语句)
- 【bzoj1567】【jsoi2008】【二分+哈希】Blue Mary的战役地图
- SpringMVC笔记
- CentOS6.7 linux系统下安装Nginx
- Hibernate之 继承映射
- shell字符串截取常见方式
- 在Eclipse中测试MySQL-JDBC(6)JDBC工具(JdbcUtil)类抽取
- [数论 反演]BZOJ4816 [Sdoi2017]数字表格
- android studio 添加编译自己的github库
- Linux下安装Redis
- BZOJ 1096 [ZJOI2007]仓库建设
- caioj1092 并查集模板
- 注重细节
- 计蒜客 判定欧拉回路 (利用并查集实现有向图欧拉回路的判断)
- 全排列 递归方法与非递归方法实现