初学JDBC

本文介绍了JavaDatabaseConnectivity(JDBC)的基本概念,包括JDBC的作用、使用步骤,以及DriverManager、Connection、Statement、PreparedStatement和ResultSet等关键类的作用。重点讲解了PreparedStatement的预编译功能以防止SQL注入问题。
摘要由CSDN通过智能技术生成

一、JDBC简介
    1、概念:
        JDBC就是使用java语言操作关系型数据库的一套API。
全称:(Java  DataBase  Connectivity)Java数据库连接
    2、关系图:
        
    3、JDBC本质:
        官方定义的一套操作所有关系型数据库的规则,即接口。
        各个数据库厂商去实现这套接口,提供数据库驱动jar包(数据库驱动就是数据库的实现类)。
        我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
    4、JDBC的好处:
        各数据库厂商使用相同的接口,java代码不需要针对不同数据库分别开发。
        可随时替换底层数据库,访问数据库的Java代码基本不变。

二、JDBC入门
    步骤:
        1、创建工程时,导入驱动jar包
        2、注册驱动
        3、获取连接       
        4、定义sql语句
        5、获取执行sql对象
        6、执行sql 
        7、处理返回结果
        8、释放资源

三、JDBC  API详解
1、DriverManager(驱动管理类)
    

作用:
        ①注册驱动。
            在MySQL5之后的驱动包可以省略注册驱动这个步骤。因为他会自动加载jar包中的驱动类。
                Class.forName("com.jdbc.mysql.Driver")
                    
        ②获取数据库连接。
    

方法:
        getConnection(url, username, paswword)
            用来获取连接数据库

2、Connection(数据库连接对象)
    

作用:
        ①获取执行SQL的对象。
        ②管理事务。
    

方法:
        

①获取执行SQL的对象:
            createStatement()
                普通执行SQL对象。返回Statement类型。
            prepareStatement(sql)
                预编译SQL的执行SQL对象:防止SQL注入。返回PrepareStatement类型。
            prepareCall(sql)
                执行存储过程的对象。返回CallableStatement类型。
        

②事务管理:
            开启事务:
                setAutoCommit(boolean  autoCommit)
                    true为自动提交事务;false为手动提交事务,即为开启事务。
            提交事务:
                commit()
            回滚事务:
                rollback()
            java中主要使用异常处理机制  try-catch  来完成事务处理。

三、Statement
    

作用:
       ①执行SQL语句
    

方法:
        执行SQL:
            executeUpdate(sql)
                执行DML、DDL语句。
                返回值:int类型;(1) DML语句影响的行数  (2)DDL语句执行后,执行成功也可能返回0。
            execteQuery(sql)
                执行DQL语句
                返回值:ResultSet 结果集对象。

四、PreparedStatement(继承Statement)
    

作用:
        ①预编译SQL语句并执行:预防SQL注入问题
            SQL注入:
                SQL注入是通过操作输入来修改事先定义好的SQL语句,用以达到执行代码对服务器进行攻击的方法。
            预编译功能默认是关闭的。
                在获取连接时使用 useServerPrepStmts=true 来开启预编译功能。
        ②解决SQL注入的方法
            1、获取PreparedStatement对象执行原理
            2、设置参数 
            3、执行SQL

五、ResultSet(结果集对象)
    

作用:
        ①封装了DQL查询语句的结果(它是executeQuery(sql)的返回值类型)
        ②获取查询结果
    

方法:
        获取查询结果:
            next()
                (1)将光标从当前位置向前移动一行 (2)判断当前行是否位有效行。
                返回值:boolean类型; true 有效行,当前行有数据 ;false 无效行,当前行没有数据。
            xxx  getXxx(参数)
                获取数据
                xxx:数据类型  
格式:int  getInt(参数);String  getString(参数)
                参数:
int:列的编号,从1开始。
String:列的名称。
            使用步骤:
                1、游标向下移动一行,并判断该行是否有数据:next()
                2、获取数据:getXxx(参数)
                
                

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值