作者:小符 撰写时间:2019.5.25 今天给大家整理一下,如何封装驱动,在写连接SQL的时候直接调用,省去了之前写的“java连接SQL”一部分代码,同时提高敲代码的效率。 一、封装驱动DBUtil 首先打开MyEclipse,创建一个Web Project项目,新建一个com.fjm.util包+在包内建一个DBUtil的类。如下: 1.定义四个SQL参数:用户名、密码、连接路径、驱动。 private static String username = null; private static String password = null; private static String url = null; private static String driver = null; 2.使用静态初始化获取jdbc.properties。先初始化一个空文件Properties(),接收try…catch异常。然后读取类jdbc.properties,将类加载进空文件,给参数赋值。 static{ try { Properties pro = new Properties(); InputStream in = DBUtil.class.getClassLoader().getResourceAsStream( “jdbc.properties”); pro.load(in); username = pro.getProperty(“username”); password = pro.getProperty(“password”); url = pro.getProperty(“url”); driver = pro.getProperty(“driver”); } catch (IOException e) { e.printStackTrace(); } } 3.封装驱动,执行SQL语句。初始化Connection,获取驱动,接收try…catch找不到类异常,获取驱动管理的参数值,接收sql异常,返回con。 public static Connection getConnection(){ Connection con = null; try { Class.forName(driver); con = DriverManager.getConnection(url,username,password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return con; } 3.还可以封装关闭流的方法,这样就不用一个一个连接的关闭了。接收三个连接参数,判断参数是否为空,不为空就执行关闭流。接收SQL异常。 public static void close(Connection con,PreparedStatement ps,ResultSet rs){ try { if(rs!=null){ rs.close(); }else if(ps!=null){ ps.close(); }else if(con!=null){ con.close(); } } catch (SQLException e) { e.printStackTrace(); } } 4. import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; 二、调用驱动DBUtil,执行SQL新增语句 1.建一个类,实现User表实体对象。 package com.fjm.dao; import com.fjm.po.User; public interface IUserDao { public int insert(User user); } 1.建一个类,实现UserDao接口方法。 package com.fjm.dao.impl; public class UserDaoImpl implements UserDao { } 2.定义三个连接参数、SQL新增语句。 private Connection con=null;//连接 private PreparedStatement ps=null;//准备好要执行SQL语句 private ResultSet rs=null;//结果集 private String deleteById=“delete from user where userid=?”; 3.编写删除方法。获取驱动连接,向SQL发送执行删除语句,设置删除id,返回id。调用关闭方法,关闭三个连接。 public int deleteById(int id) { int i=0; try { con=DBUtil.getConnection(); ps=con.prepareStatement(deleteById); ps.setInt(1,id); i=ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); }finally{ DBUtil.close(con, ps, rs); } return i; } 4. import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import com.gx.dao.UserDao; import com.gx.util.DBUtil; 完。 猜你喜欢: java连接数据库 java开发常用代码规范 使用File类创建文件进行遍历 利用java反射机制获取类的所有属性和方法 Java异常处理机制 如何使用Collections解决多线程安全问题