`

封装jdbc

    博客分类:
  • java
 
阅读更多
1.定义实体类
package com.wangxuegang.model;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class JdbcObject {
	
	private Connection connection; //获取连接
	private PreparedStatement preStatement; //执行器
	private ResultSet resultSet; //返回结果
	
	public Connection getConnection() {
		return connection;
	}
	public void setConnection(Connection connection) {
		this.connection = connection;
	}
	public PreparedStatement getPreStatement() {
		return preStatement;
	}
	public void setPreStatement(PreparedStatement preStatement) {
		this.preStatement = preStatement;
	}
	public ResultSet getResultSet() {
		return resultSet;
	}
	public void setResultSet(ResultSet resultSet) {
		this.resultSet = resultSet;
	}
}

2.jdbc工具类
package com.wangxuegang.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

import com.wangxuegang.model.JdbcObject;

/**
 * 
 * @description JDBC工具类
 * @author wangxuegang
 * @since JDK 1.6
 */
public final class JDBCUtils {
	
    private static final String DRIVER; //驱动
    private static final String URL; //连接数据库地址
    private static final String USER; //用户名
    private static final String PASSWORD; //密码
    
    private JDBCUtils(){}
    
    static {
        ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
        
        DRIVER = bundle.getString("driver");
        URL = bundle.getString("url");
        USER = bundle.getString("user");
        PASSWORD = bundle.getString("password");
        
        /**
         * 驱动注册
         */
        try {
            Class.forName(DRIVER);
        } catch (ClassNotFoundException e) {
            throw new ExceptionInInitializerError(e);
        }
    }
    
    /**
     * 获取 Connetion
     */
    public static Connection getConnection() throws SQLException{
        return DriverManager.getConnection(URL, USER, PASSWORD);
    }
    
    /**
     * 释放资源
     */
    public static void colseResource(Connection conn,Statement st,ResultSet rs) {
        closeResultSet(rs);
        closeStatement(st);
        closeConnection(conn);
    }
    
    /**
     * 释放连接 Connection
     */
    public static void closeConnection(Connection conn) {
        if(conn !=null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        //等待垃圾回收
        conn = null;
    }
    
    /**
     * 释放语句执行者 Statement
     */
    public static void closeStatement(Statement st) {
        if(st !=null) {
            try {
                st.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        //等待垃圾回收
        st = null;
    }
    
    /**
     * 释放结果集 ResultSet
     */
    public static void closeResultSet(ResultSet rs) {
        if(rs !=null) {
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        //等待垃圾回收
        rs = null;
    }
    
    /**
	 * 
	 * @description 获取连接,传入SQL
	 */
	public static JdbcObject execute(JdbcObject object,String sql) throws SQLException{
		object.setConnection(JDBCUtils.getConnection());
		object.setPreStatement(object.getConnection().prepareStatement(sql));
		return object;
	}
	
	/**
	 * 
	 * @description 关闭资源
	 */
	public static void closeJdbcObject(JdbcObject object){
		JDBCUtils.colseResource(object.getConnection(),object.getPreStatement(),object.getResultSet());
	}
}

 

3.数据库配置jdbc.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
user=root
password=root

 

分享到:
评论

相关推荐

    java封装jdbc的操作代码

    封装JDBC操作代码是为了提高代码的复用性,减少重复工作,并且能够更好地管理和控制数据库连接,避免资源泄露。下面我们将详细探讨这个主题。 1. **JDBC基础概念** JDBC是Java API的一部分,它提供了连接数据库、...

    SpringBoot中封装jdbc工具类

    现在的数据层的开发,大多会使用...但是在一些极端的场景下往往原生的jdbc方式操作数据库更灵活,性能更高。由于部分场景下MyBatis或JPA之类无法满足我的需求,所以我打算自己封装一套查数据库的工具类。 文章地址: ...

    学习JDBC第一个项目,封装JDBC

    学习JDBC第一个练习,封装JDBC的源代码,初步封装,通过反射Class实例,类文件加载阶段执行,而且只执行一次的作封装,如:获取类加载器,然后通过类加载器获取输入数据流对象,创建Properties实例对象,加载配置项文件,将...

    封装jdbc,采用Map方式快速增删改数据库例子

    本文将深入探讨如何通过封装JDBC来提高数据库操作的效率,特别是使用Map数据结构实现快速的增删改操作。我们将以`BaseDao`类为例,位于项目的`util`包下。 首先,理解JDBC的基础知识是必要的。JDBC提供了一组接口和...

    自己封装的JDBC

    下面将详细解释JDBC的基本概念以及封装JDBC的过程。 JDBC(Java Database Connectivity)是Java语言中用来规范应用和数据库之间交互的一种接口,由Sun Microsystems公司开发并被所有Java应用广泛使用。它为开发者...

    spring封装jdbc查询

    "spring封装jdbc查询"是Spring框架中的一个核心功能,旨在简化传统的JDBC(Java Database Connectivity)操作,提高代码的可读性和可维护性,同时减少数据库操作中的潜在错误。以下是对这个主题的详细阐述: 首先,...

    java反射封装jdbc全部方法

    本教程将深入讲解如何使用Java反射来封装JDBC方法,以实现查询、修改、添加和删除数据的操作,并将所有这些功能集成到一个方法中。 首先,我们需要了解JDBC的基本步骤:加载驱动、建立连接、创建Statement或...

    泛型封装JDBC

    下面我们将深入探讨如何利用泛型来封装JDBC,以及其在Oracle数据库操作中的应用。 1. **泛型的理解**: 泛型的主要作用是为容器类(如List、Map等)定义一个通用的数据类型,这样在容器中存储的对象都具有相同的...

    Apache-DBUtils封装JDBC

    使用了Apache Commons DbUtils库中的类和方法封装JDBC,使用了org.apache.commons.dbutils.QueryRunner、org.apache.commons.dbutils.handlers.BeanHandler和org.apache.commons.dbutils.handlers.BeanListHandler等...

    关于Java Web的Servlet+JDBC(封装)+JSP的登录(送给入门的你)

    通常,我们会封装JDBC操作到一个单独的数据访问对象(DAO)中,以提高代码的可重用性和可维护性。封装可能包括打开数据库连接、准备SQL语句、执行查询和关闭连接等步骤。 3. **JSP(JavaServer Pages)**: JSP是...

    jdbc完全封装实现增删改查

    实现完全的对jdbc对象的封装,只需调用则可对数据库进行CRUD操作

    轻量级封装jdbc 实现增删改查

    因此,为了提高开发效率和代码的可读性,通常会进行轻量级的JDBC封装,这就是“轻量级jdbc 封装类”的概念。 轻量级JDBC封装类的目标是简化上述流程,提供更简洁、易用的API,同时保持灵活性,以便在不依赖大型ORM...

    java增删改查JDBC封装类(泛型封装)

    - 封装JDBC操作可以将数据库操作抽象成独立的类,减少重复代码,提高代码复用。 - 通常包括连接管理(连接池)、SQL语句的预编译、执行、结果集处理等方法。 4. **泛型在JDBC封装中的应用**: - 在封装JDBC操作...

    使用德鲁伊连接池封装JDBC

    使用德鲁伊连接池对JDBC进行简单封装的学习代码

    J2EE预览:使用XML封装JDBC语句设计

    通过XML保存JDBC相关配置(参考) 作者:13部王曦同学在学习J2EE的XML开发的小项目。 说明:做得越多,收获越多。 博文链接:https://java1573.iteye.com/blog/124704

    游戏服务器 数据库连接池 jdbc 简单封装

    本文将深入探讨“游戏服务器数据库连接池JDBC简单封装”的相关知识点。 首先,我们需要理解JDBC(Java Database Connectivity)的概念。JDBC是Java语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了...

    jdbc封装(实现对实体的增删改查[分页]).zip

    jdbc封装(实现对实体的增删改查[分页]),辅助学习Hibernate 包含三个文件夹,分别是: code-access实现 是用access实现的,本意是access方便,就一个文件,方便部署。但access有好多不支持,就写成这样.主要是可参考Dao...

    面向切面封装的JDBC

    在文件名"oracle"的上下文中,可能是指该压缩包包含了一些针对Oracle数据库的AOP封装JDBC示例或者库。Oracle是世界上最流行的数据库管理系统之一,特别适合大型企业级应用。使用AOP封装的JDBC与Oracle数据库配合,...

    封装的jdbc的jar包

    这个jdbc的jar包里面有四个类以及一个DataSource.properties配置文件。该文件中放的是四大参数。如果你下载了这个jar包,那么在你使用的时候,你需要自己创建一个DataSource.properties文件,你需要把这个DataSource...

    jdbc封装类

    jdbc的封装类,便于在开发时候方便,实现了数据库的加载,连接,增、删、查、改。

Global site tag (gtag.js) - Google Analytics