ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

JDBC原理

2020-10-14 17:01:25  阅读:145  来源: 互联网

标签:JDBC Java 数据库 jdbc sql 原理 连接


  • JDBC的简介

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。

  1. jdbc是用Java来操作数据库
  2. jdbc 的维护是由sun公司 ==>主要是提供一些连接数据库的类或者接口(规范),还提供了连接数据库的协议

- Jdbc的开发原理

jdbc是有sun公司提供了一些接口(一种规范),主要用于来对接数据库厂商,数据 库厂商根据提供了一些规范 来给用户提供使用(提供一套能够访问到自己服务器的一套代码)驱动来操作数据库

在这里插入图片描述

- jdbc的开发流程

  1. 通过反射来加载驱动包得到Driver对象
  2. 使用DervieManger 来获取连接对象
  3. 得到执行sql的对象
  4. 得到返回结果
  5. 关闭资源

-jdbc的操作步骤

  1. 新建一个文件 这文件 lib 用于存放jar包
    在这里插入图片描述
  2. 下载驱动包 :下载的地址:https://dev.mysql.com/downloads/connector/j/5.1.html

在这里插入图片描述

  1. 添加项目依赖
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

-总结

    1. jdbc 主要是使用Java来操作数据库 其实连接数据库的桥梁(中介)
    2. jdbc的使用步骤:
      1.导入驱动包 加入项目依赖
      2.加载驱动 通过反射 Driver
      3.通过DriverManager 来获取连接对象
      getConnection(“第一个参数 url”,”数据库用户名”,”数据库的密码”)
      url:jdbc:mysql +IP地址(loaclhost) +端口号3306+ 数据库库名+设置编码格式
      4.得到执行sql的对象 Statement 两个方法:executeQuery() executeUpdate()
      5.得到返回结果 执行增删改返回的是int 执行查询返回的是一个结果集 resultset
    3. 关闭资源 从下往上关闭
    4. preparedSatement 优点 :
      1.避免复杂的sql语句的拼写
      2.防止sql注入 安全性更高 效率更高
      3.是statement的一个子类
      4.preparedSatement 注意点 : 使用?占位符来替换需要拼接的值
      占位符的索引是从1开始
      setInt(“索引”,”具体需要替换的值”);
      setObject(“索引”,”具体需要替换的值”)
    5. junit 测试
      1. 其实就是定义一个方法来替代main来直接运行
      2. 方法定义的注意事项: 需要使用public 来修饰
      3. 不能有返回值
      4. 不能传递参数
      5. 加上注解 @Test
    6. 封装 :
      1. 配置资源文件只需要加载一次 使用静态代码块
      2. 工具类的对象只需要实例化一次 单例设置模式
        1.私有的属性
        2.私有构造
        3.提供一个公有的方法返回这个对象
      3. BaseDao
        1.获取连接对象
        2.增删改(sql,数组,返回值是int)
        3.查询(sql,数组,返回值是是一个结果集)
        4.关闭资源的方法

标签:JDBC,Java,数据库,jdbc,sql,原理,连接
来源: https://www.cnblogs.com/nastu/p/13815854.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有