jdbc_learn

本文介绍了Java JDBC的基础知识,包括连接参数关闭顺序、PreparedStatement的作用以及时间类型的转换。深入讲解了事务的四大特性,并展示了JDBC处理事务的代码格式。此外,还探讨了数据库连接池的原理,提到了C3P0配置和Tomcat中配置连接池的方法,以及ThreadLocal在管理连接中的应用。
摘要由CSDN通过智能技术生成

一、jdbc基础

1.连接参数关闭顺序:倒关

 /**
         * 关闭资源
         *      倒关
         */
        rs.close();
        statement.close();
        conn.close(); //这个必须关

2.jdbc连接时的规范化处理

   @Test
    public void fun1() throws SQLException {
        //先初始化
        Connection conn=null;
        Statement statement=null;
        ResultSet rs=null;
        try{
            String className="com.mysql.cj.jdbc.Driver";
            String uri="jdbc:mysql://localhost:3306/javaweb?serverTimezone=GMT%2B8&useSSL=true";
            String username="root";
            String password="123456";
            Class.forName(className);
            conn= DriverManager.getConnection(uri,username,password);
            statement=conn.createStatement();
            String sql="select * from stu";
            rs=statement.executeQuery(sql);
            ResultSetMetaData metaData=rs.getMetaData();
            int count=metaData.getColumnCount();
            while(rs.next()){
                for(int i=1;i<=count;i++){
                    System.out.print(rs.getString(i));
                    if(i<count)
                        System.out.print(",");
                }
                System.out.println();
            }
        }catch (Exception e){
            throw new RuntimeException(e);
        }finally {
            //一定执行,若不为null,则需要关闭
            if(rs!=null)
                rs.close();
            if(statement!=null)
                statement.close();
            if(conn!=null)
                conn.close();
        }
    }

3.获取结果集元数据
    得到元数据:rs.getMetaData(),返回值为ResultSetMetaData
    获取结果集列数:int getColumnCount()
    获取指定列的列名:String getColumnName(int colindex)

4.PreparedStatement:Statement的子接口
    防SQL攻击ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值