JavaWeb-JDBC


    jdbc的概述                 【重点】
    jdbc的入门程序              【重点】
    jdbc的API                  【重点】
    jdbc的增删改查操作           【重点】
    SQL注入问题及解决            【重点】
    连接池技术                  【重点】
    jdbc的练习                 【重点】

jdbc的概述
    什么是jdbc
        Java database connectivity Java数据库连接技术
        这门技术可以让我们使用Java代码操作数据库

        jdbc本质上其实是Java官方提供的一个规范(标准/接口),不同的关系型的数据库厂商如果
        想要能通过Java代码操作其数据库,就必须实现这个规范,由于规范是统一的,不同的数据库厂商
        的实现是不同的,所以我们使用jdbc操作不同的数据库的时候,Java代码基本上是一样,但是不同的
        数据库厂商提供的驱动jar包是不同的。
        驱动jar包:不同的数据库厂商实现了jdbc规范之后的代码打成一个包,就是驱动jar包。

        JDBC底层还是在通过SQL操作数据库,只不过通过网络技术将Java代码中嵌套的SQL发送到数据库进行操作,
        数据库操作完毕之后会将操作的结果再发送回Java代码

jdbc的入门程序
    步骤:
        0、导入驱动jar包
        1、注册驱动
        2、获取连接对象
        3、获取SQL的执行者对象
        4、定义SQL
        5、执行SQL,获取结果
        6、操作结果
        7、释放资源

jdbc的API
    DriverManager类:驱动管理类
        * 注册驱动
            static void registerDriver(Driver driver)

            注册驱动的两种方式:
                (1)Class.forName("com.mysql.jdbc.Driver");
                (2)DriverManager.registerDriver(new Driver());

                以上两种方式我们推荐使用第(1)种,因为第(2)种方式也加载两次驱动

        * 获取连接
            static Connection getConnection(String url, String user, String password)
                String url, 连接的url
                    MySQL的url格式:
                        协议://ip:端口号/数据库名称

                        jdbc:mysql://localhost:3306/db6

                        注:
                            1、不同的数据库url格式不同
                            2、如果连接的是本机的默认端口的MySQL数据库,url可以简写:
                                jdbc:mysql:///db6
                String user, 数据库用户名
                String password 数据库密码


    Connection接口:连接对象
        * 获取SQL的执行者对象
             Statement createStatement()
             PreparedStatement prepareStatement(String sql)

        * 事务管理              【了解】
            void setAutoCommit(boolean autoCommit):传递false表示开启
            void commit()
            void rollback()

    Statement接口:SQL的执行者对象
        * 执行SQL
             int executeUpdate(String sql)
                * 执行DML和DDL语句

                参数:要执行的SQL
                返回值:影响的行数
             ResultSet executeQuery(String sql)
                * 执行DQL语句

    ResultSet接口:结果集对象
        只有查询才会涉及该对象的,增删改不会涉及该对象
        该对象中封装了查询出来的结果

        * 获取数据
             boolean next() :
                1、光标往下一行
                2、返回是否是有效数据

             xxx getXxx(int columnIndex)
             xxx getXxx(String columnLabel)
             其中的xxx表示的是数据类型,比如:
                int getInt(int columnIndex)
                double getDouble(int columnIndex)
                String getString(int columnIndex)
            参数:
                int columnIndex:列的编号,编号从1开始
                String columnLabel:列的名称         【推荐】

    PreparedStatement接口:预编译的SQL的执行者对象
        PreparedStatement是Statement的子接口
        相比Statement的好处:
            1、可以预编译,效率高
            2、可以防止SQL注入问题

            结论:以后我们都使用PreparedStatement,而不选择Statement
        PreparedStatement执行的SQL如果有动态数据,不是直接拼接,而是先用占位符进行占位,然后再
        给占位符进行赋值,使用?作为占位符。

        * 执行SQL
             int executeUpdate() :执行DML和DDL语句
             ResultSet executeQuery()  :执行DQL语句

        * 设置占位符的值
             void setXxx(int parameterIndex, xxx x)
             Xxx表示数据类型,比如:
                void setString(int parameterIndex, String x)
                void setInt(int parameterIndex, int x)
                void setDouble(int parameterIndex, double x)


jdbc的增删改查操作

SQL注入问题及解决
    SQL注入问题演示
        SQL注入问题:通过输入值和SQL拼接在一起,从而改变了SQL本来的含义,从而达到一种对系统进行攻击的目的

        a' or 'a' = 'a
        b' or 'b' = 'b
        2' or '1' = '1

    SQL注入问题解决

连接池技术
    什么是连接池
        用于管理和存储数据库连接(Connection对象)的容器
        连接池有一个规范(DataSource接口),也是Java官方提供的,所有的连接池技术都必须实现这个规范
        连接池获取连接对象的共性操作,是定义在DataSource接口中的:
            * Connection getConnection()

    连接池的好处
        1、提高资源的复用
        2、提高响应速度
        3、方便统一管理

    常见的连接池技术
        C3P0
        dbcp
        druid

    Druid的使用
        1、导入jar包
        2、复制并修改配置文件
        3、加载配置文件
        4、获取连接池对象
        5、获取连接

jdbc的练习
    需求
        完成商品品牌数据的增删改查操作
        查询:查询所有数据
        添加:添加品牌
        修改:根据id修改
        删除:根据id删除

    步骤:
        1、准备工作
            (1)创建表,准备表数据
            (2)定义一个标准类Brand,用于存储商品信息
            (3)导入驱动jar包、导入druid连接池的jar
        2、查询
        3、添加
        4、修改
        5、删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JavaWeb购物车JDBC是一种基于JavaWeb技术开发的电子商务网站,它实现了用户注册、登录、浏览商品、购物车结算、订单管理等一系列电子商务操作。JDBCJava数据库连接技术,它可以实现与关系型数据库的连接与交互,为JavaWeb购物车提供了持久化存储功能。 JavaWeb购物车JDBC的实现过程主要包括以下几个步骤: 1.建立数据库连接:首先需要加载JDBC驱动程序,然后通过该驱动程序与数据库建立连接。 2.创建数据库表结构:为了实现购物车功能,需要创建商品表、用户表、订单表和订单详情表等数据库表。 3.编写JDBC代码:使用Java语言编写数据访问对象(DAO)类,通过这些类实现对数据库的增删改查操作。同时,需要实现购物车功能的业务逻辑,如添加商品到购物车、计算商品总价、生成订单等。 4.部署JavaWeb应用程序:将JavaWeb购物车JDBC部署到Web服务器上,如Tomcat或Jetty,通过浏览器访问网站进行测试。 JavaWeb购物车JDBC的优势在于它遵循Java开发语言的规范,具有可移植性和跨平台性。同时,JDBC技术支持多种数据库类型,如Oracle、MySQL、PostgreSQL等,方便开发者根据实际需求选择最适合的数据库。在开发过程中,使用JDBC技术可以提高代码的可读性和可维护性,减少耦合度,提高代码复用率。 总之,JavaWeb购物车JDBC是一种基于JavaWeb技术和JDBC技术的电子商务网站,它具有可移植性、跨平台性和可读性强等优势,可为JavaWeb开发者提供一个高效、可扩展的电商开发框架。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值