jdbc连接池工具类 建立及运用

    技术2022-07-10  154

    1、导入jar包

    2、添加druid.properties

    3、写JDBCUtils类

    public class JDBCUtils { //成员变量 private static DataSource ds; static { try {//加载配置文件 Properties pro=new Properties(); pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties")); //使用ClassLoader加载配置文件,获取字节输入流,运行。 //获取DataSources ds= DruidDataSourceFactory.createDataSource(pro); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } /**  * 获取连接Connection对象  */ public static Connection getConnection() throws SQLException { return ds.getConnection(); } //释放资源 public static void close(Statement stmt, Connection conn, ResultSet rs){ if (stmt!=null){ try { stmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn!=null){ try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if (rs!=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } //获取连接池 public static DataSource getDataSource(){ return ds; } }

    4使用

    public class UserDao {     //声明JDBCTemplate对象公用     private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource());     /**      * 登录方法      * @param loginUser  只有用户名和密码      * @return  没查到 输出null      */     public User login(User loginUser) {         //1、编写 sql         try {             String sql = "select * from user where username =? and password=?";             User user = template.queryForObject(sql,                     new BeanPropertyRowMapper<>(User.class),                     loginUser.getUsername(),                     loginUser.getPassword());                          //查看是否有,有的话返回user 没有的话返回null

                return user;         }         catch (DataAccessException e) {             return null;         }

        }

    }

    Processed: 0.011, SQL: 9