站内搜索

java实现的数据库管理类(mysql)_MySQL

在我们使用数据库的时候,总会要写一个DBManager类来进行总体的数据库管理,在这里我们就要实现一个数据库管理类,这个是一个比较小型的数据库管理类,大体上实现了增删改查,在后面我们就会扩建这个数据库管理类,实现各种连接,来进行数据库的管理,好了,下面我们来看一下我们的代码:

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;public class DBManager {    /**     * 该方法用户连接数据库     *      * @return 返回Connection的一个实例     */    private Connection getConnection() {        Connection con = null;        try {            Class.forName(StaticVar.DRIVER_NAME).newInstance();            con = DriverManager.getConnection(StaticVar.DB_URL,                    StaticVar.USER_NAME, StaticVar.DB_PASSWD);        } catch (InstantiationException e) {            return null;        } catch (IllegalAccessException e) {            return null;        } catch (ClassNotFoundException e) {            return null;        } catch (SQLException e) {            return null;        }        return con;    }    /**     * 用于查询sql语句     *      * @param sql     *            sql语句     * @return 返回ResultSet集合     */    public ResultSet select(String sql) {        ResultSet res = null;        Connection con = getConnection();        Statement state = null;        if (!(con == null)) {            try {                state = con.createStatement();                res = state.executeQuery(sql);            } catch (SQLException e) {                return null;            }        }        if (state != null) {            try {                state.close();            } catch (SQLException e) {                return null;            }        }        if (con != null) {            try {                con.close();            } catch (SQLException e) {                return null;            }        }        return res;    }    /**     * 向表中插入一个元素,返回插入后的元素的id     *      * @param sql     * @return     */    public int insert(String sql) {        int iId = -1;        Connection con = getConnection();        Statement state = null;        if (con != null) {            try {                state = con.createStatement();                int res = state.executeUpdate(sql,                        Statement.RETURN_GENERATED_KEYS);                if (res != 0) {                    ResultSet rs = state.getGeneratedKeys();                    if (rs.next()) {                        iId = rs.getInt(1);                    }                }            } catch (SQLException e) {                iId = -1;            }        }        if (state != null) {            try {                state.close();            } catch (SQLException e) {            }        }        if (con != null) {            try {                con.close();            } catch (SQLException e) {            }        }        return iId;    }    /**     * 修改表中的某个元素的数值     *      * @param sql     *            sql语句     * @return 元素是否被成功修改     */    public boolean update(String sql) {        boolean updated = false;        Connection con = getConnection();        Statement state = null;        if (con != null) {            try {                state = con.createStatement();                int res = state.executeUpdate(sql);                if (res == 0) {                    updated = false;                } else {                    updated = true;                }            } catch (SQLException e) {                updated = false;            }        }        if (state != null) {            try {                state.close();            } catch (SQLException e) {            }        }        if (con != null) {            try {                con.close();            } catch (SQLException e) {            }        }        return updated;    }    /**     * 删除表中的某一个表项     *      * @param sql     *            sql语句     * @return 返回是否删除成功     */    public boolean delete(String sql) {        boolean deleted = false;        Connection con = getConnection();        Statement state = null;        if (con != null) {            try {                state = con.createStatement();                int res = state.executeUpdate(sql);                if (res == 0) {                    deleted = false;                } else {                    deleted = true;                }            } catch (SQLException e) {                deleted = false;            }        }        if (state != null) {            try {                state.close();            } catch (SQLException e) {            }        }        if (con != null) {            try {                con.close();            } catch (SQLException e) {            }        }        return deleted;    }}

下面看一下其中用到的一个类StaticVar。

StaticVar.java

public class StaticVar {    public static final String DB_URL = "jdbc:mysql://localhost/db_test?useUnicode=true&characterEncoding=UTF-8";    public static final String USER_NAME = "chen";    public static final String DB_PASSWD = "******";    public static final String DRIVER_NAME = "com.mysql.jdbc.Driver";}

这样我们的一个小型的数据库管理类就实现了,至于后面的扩展,我们会在后面的博客中讲到。

  • 上一篇:mysqlcount(*)会选哪个索引?_MySQL
  • 下一篇:Mysql5.7新特性_MySQL