Jdbc基本内容

数据库入门

1.1引入:

    方式一数据放到内存
    优点:
        1)擦写数据的效率很高
    缺点:
        1)无法永久保存,当程序关闭数据丢失
    方式二 数据放到普通文件
        优点: 
            1)可以永久保存
        缺点:
            1)频繁的进行IO操作,效率比较低
            2)查询数据不方便
        方式三:数据放到数据库
        优点:
            1)数据永久的保存下去
            2)查询数据非常方便
            3)效率不能低
    1.2数据库常见的数据库软件
        数据库软件:存储和管理数据的仓库
        Oracle是甲骨文公司的产品:满足中大型的应用和java语言的兼容性非常好的。
        mysql:开源的数据库产品。和java语言的兼容性非常好,满足中小型应用。
        SQL Server:是微软公司的产品,和net平台(c#语言)兼容性最好
        DB2是IBM的产品
        mangoDB noSQL数据库

        mysql满足中小型应用
        oracle满足中大型应用
        1.3mysql 数据库的基本使用
            如何卸载
                服务-》mysql关闭
                控制面板-》管理工具-》卸载程序功能,-》安装目录全部清空
                找到影藏文件(颜色比较浅的)找到mysql然后全部删除

1.jdbc入门

        1.1简介
            使用java程序访问(操作)数据库(发送sql语句),这就用到了jdbc技术!!1
        1.2使用jdbc访问数据的前提
            先登录数据库
                数据库的主机地址(IP地址)
                端口
                数据库用户名
                数据库用户名密码
                链接数据库

            2)发送sql语句

2.jdbc核心的api

        Driver接口:驱动程序接口
            |-Connection connect()  用于连接数据库的方法
        Connection接口:   代表和数据库的连接
             Statement createStatement() 创建Statement接口对象
            PreparedStatement prepareStatement(String sql) 创建PreparedStatement接口对象
            CallableStatement prepareCall(String sql)创建CallableStatement接口对象
        |Statement接口 属于执行静态的sql语句
            DDL create 
            DML insert update delete
             |-int executeUpdate(String sql)执行DDL和DML语句(更新sql语句) 
             |- ResultSet executeQuery(String sql) 执行DQL语句(查询sql语句)

            |-PreparedStatement 接口:用于执行预编译的sql语句
            |-int executeUpdate()执行DDL和DML语句(更新sql语句) 
             |- ResultSet executeQuery() 执行DQL语句(查询sql语句)

                |-CallableStatement接口:执行存储过程的sql语句
                     |- ResultSet executeQuery() 存储过程只能执行查询sql(call)                        )
        -ResultSet接口:表示数据库结果集
            |boolean  next() 将光标移至下一行
            |-getXXX()获取结果集中每列的值

3.jdbc操作步骤

        1)注册驱动程序
        2)获取连接对象
        3)准备sql语句
        4)创建Statement对象
        5)执行sql语句
            DDL+DML:executeUpdate(sql )
        6)返回结果,处理结果
        7)关闭资源

Statement接口 
    sql注入行为:SELECT * from students where name='王六' or 1=1 ; where 1=1恒成立
    问题:可以被用户注入sql,不安全。
    全部当做查询语句去执行
|-PreparedStatement 接口
    先进行预编译:有几个?、就需要传入几个值
    将传入的变量分别进行匹配

4.使用PreparedStatement执行sql语句

        Statement vs PreparedStatement
    语发不同
        1)Statement只能执行静态的sql语句
        2)PreparedStatement既可以执行静态的sql语句,也可以执行预编译sql语句
    安全性不同:
        1)Statement可以别用户进行sql注入
        2)PreparedStatement不能被用户注入sql,比Statement更安全
    执行效率不同:
        1)Statement不能利用数据库sql缓存功能
        2)PreparedStatement可以利用数据库sql缓存功能,比Statement的执行效率更高!!!

    结论:建议尽量去使用PreparedStatement     

5.优化类路径

        使用类路径读取jdbc.properties
    总结:
        1)jdbc使用java程序操作数据库的技术(一套接口)
        2)jdbc步骤
            2.1)注册驱动:
                Class.from(驱动名称);
            2.2Connection coon=Driver.getConnection(URL,user,password);
            2.3创建Statement/PreparedStatement/CallableStatement
                coon.createStatement()
                coon.preparedStatement(sql);
            2.4如何使用PreparedStatement/CallableStatement设置参数
                stmt.setXXX(参数位置,参数值);
            2.5执行sql发送参数
                stmt.executeUpdate()    DDL+DML
                PresultSet rs=stmt.executeQuery()    DQL
            2.60处理集
                rs.next()
                rs.getXXX()
            2.7关闭资源
                rs.close
                stmt.close
                coon.close
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值