栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA关于简单封装JDBC

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA关于简单封装JDBC

本来想把ResultSet结果集好好处理一下,然后发现这个玩意不好搞,只能具体问题具体使用了。然后我用的是Statement对象,这个对象容易被SQL注入攻击,个人小项目就封装而言还是Statement对象方便一些,如果使用PreparedStatement对象可以使用(String sql,Object ...values),把要设置的值传到一个Object数组里面,然后遍历出来,使用setObject()方法设置参数.本着具体问题具体分析的思路,写了两个close()方法在JDBCUtil类里面,本来是写在两个重新封装SQL方法里面的,因为是工具类,直接把构造方法私有化了,然后这个连接实际上就一个连接,也就是单例对象.

JDBCUtil

public class JDBCUtil{
    private JDBCUtil(){}
        //用静态代码块完成加载驱动,第一次调用静态方法时会先调用驱动操作
    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        }
        catch (ClassNotFoundException e){
            e.printStackTrace();
        }
    }
    public static Connection getConnection() throws SQLException{
        //默认本机且端口号是3306,可以省略写法
        //标准写法:jdbc:mysql://localhost:3306/数据库名
       Connection conn=DriverManager.getConnection("jdbc:mysql:///您的数据库名","root","1234");
        return conn;
    }
    public static void close(Statement sta,ResultSet re,Connection conn) 
throws SQLException{
        if(re!=null){
            re.close();
        }
        if(sta!=null){
            sta.close();
        }
        if(conn!=null){
            conn.close();
        }
    }
    public static void close(Statement sta,Connection conn) throws SQLException{
        if(sta!=null){
            sta.close();
        }
        if(conn!=null){
            conn.close();
        }
    }
}

DDL和DML简单封装

import java.sql.*;
import java.util.ArrayList;

public class Dao {
    //数据库DML
    public static boolean executeUpdate(String sql) throws SQLException {
        boolean flag=false;
        Connection conn=JDBCUtil.getConnection();
        Statement sta=conn.createStatement();
        int i=sta.executeUpdate(sql);
        if(i>0){
            flag=true;
        }
        else {
            flag=false;
        }
        return flag;
    }
    //数据库DQL
    public static ResultSet executeQuery(String sql){
        ResultSet re=null;
        try{
        Connection conn=JDBCUtil.getConnection();
        Statement sta=conn.createStatement();
        re=sta.executeQuery(sql);
        }
        catch(SQLException e){
            System.out.println("执行查找失败");
        return re;
    }
}

后面就是根据具体的业务逻辑使用了,感谢观看,恳请斧正

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/886314.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号