博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
复习Java的JDBC&Java面试题数据库索引&生活【记录一个咸鱼大学生三个月的奋进生活】009
阅读量:2059 次
发布时间:2019-04-29

本文共 2544 字,大约阅读时间需要 8 分钟。

记录一个咸鱼大学生三个月的奋进生活009

复习Java(JDBC)

了解:连接数据库的规范有ODBCJDBC

  而ODBC是微软因为操作系统而想制定的连接数据库规范,但是最后因为并没有实现垄断而失败。

  但由于Java用的人非常多,所以JDBC基本成为了连接数据库规范的主流,JDBC其实是一些类和接口的集合就是 .jar包。

三种最常用数据库的JAR包

sqlserver:
msbase.jar; mssqlserver.jar; msutil.jar 等
mysql:
mm.mysql-2.0.14-bin.jar 等
oracle:
classes12.jar 等

JDBC的四种驱动程序类型

1、JDBC-ODBC桥驱动程序及ODBC驱动程序
  效率最低,它是利用ODBC驱动程序提供JDBC访问, 客户机上必须安装ODBC驱动程序。
2、本地API部分Java驱动程序
  性能比前者好些,它是跳过ODBC利用开发商提供的本地库(需要在客户机上安装)直接与数据库通信。
3、JDBC-Net 纯Java驱动程序
  与DBMS协议无关,不安装本地库。
4、本地协议纯Java驱动程序
  性能最好,它是将JDBC调用直接转换为DBMS所使用的网络协议。

java.sql包

Driver —— 数据库具体的驱动程序对象,决定连接哪一个数据库
Connection —— 此接口表示与数据的连接,连接对象
Statement —— 此接口用于执行SQL语句并将数据检索到ResultSet中,执行对象
ResultSet —— 此接口表示了查询出来的数据库数据结果集
PreparedStatement —— 此接口用于执行预编译的 SQL 语句

JDBC程序访问数据库步骤:DriverManager 生成 Connection 对数据库建立连接后生成 statement 执行SQL语句后对驱动程序进行操作后驱动程序将执行返回的数据生成给 ResultSet,期间驱动程序一直与数据库进行互动。

Statement的概念:

1、Statement对象用于将SQL语句发送到数据库中,有三种Statemen对象,它们都是在给定连接上的SQL语句的包容器:Statement、PreparedStatement、CallableStatement
2、Statement对象用于执行不带参数的SQL
3、PreparedStatement对象用于执行带参数或不带参数的预编译SQL
4、CallableStatement对象用于执行对数据库存储过程的调用

如何运用JDBC与数据库进行连接:

① 使用Class.forName(驱动程序类)来加载驱动程序:
Class.forName(“写不同数据库的连接名”)
JDBC-ODBC: sun.jdbc.odbc.JdbcOdbcDriver
SQLServer: com.microsoft.jdbc.sqlserver.SQLServerDriver
MYSQL: org.gjt.mm.mysql.Driver
ORACLE: oracle.jdbc.driver.OracleDriver
② 建立连接:
Connection conn = DriverManager.getConnection(URL,数据库用户名,数据库密码);
各种数据库的URL
JDBC-ODBC:jdbc:odbc:datasourceName
SQLSERVER:jdbc:sqlserver://localhost:1433;DatabaseName=DBName
MYSQL:jdbc:mysql://localhost:3306/DBName?user=root&password=pass
ORACLE:jdbc:oracle:thin:@localhost:1521:DBname

// 例:连接数据库名为xwl的SQLServer数据库Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");Connection myConn = DriverManager.getConnection("jdbc:sqlserver://127.0.0.1:1433;DatabaseName=xwl", "用户名", "密码");System.out.println("连接成功");

③ 得到Statement对象,执行SQL:

Statement sta = conn.createStatement();     // 实例化Statement对象
sta.executeUpdate(sql);     //(更新)执行增、删、改的操作
sta.executeQuery(sql);     //(查询)执行查询的操作
④ 关闭对象(rs,sta,conn):

if(this.rs != null) {
this.rs.close(); this.rs = null; } if(this.sta != null) {
this.sta.close(); this.sta = null; } if(this.conn != null) {
this.conn.close(); this.conn = null; }

相关思维导图:

在这里插入图片描述

学习Java面试题(数据库索引)

刚好今天复习的是Java连接数据库的相关内容,那之后今天就复习一下数据库的相关内容。

首先是 什么是数据库的索引,索引是能提升数据库查询速率的功能(但是会降低增删改的效率),所以很多企业都会问,虽然是基础但是这也是必须要了解的,这样才能知道更容易理解其他数据库相关的面试题。

健身

真是越来越拉了,这卡路里是加到level8之后越跑越低,但是每次流汗都比之前多,大汗淋漓,也不知道为啥,消耗的卡路里少了但是出汗更多了。。。

照片分享

作者:Libertas  作品名:Untitled  出自500px社区

2021.06.09  by wyh

转载地址:http://knalf.baihongyu.com/

你可能感兴趣的文章
【托业】【全真题库】TEST2-语法题
查看>>
博客文格式优化
查看>>
【托业】【新托业全真模拟】疑难语法题知识点总结(01~05)
查看>>
【SQL】group by 和order by 的区别。
查看>>
【Python】详解Python多线程Selenium跨浏览器测试
查看>>
Jmeter之参数化
查看>>
Shell 和Python的区别。
查看>>
Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
查看>>
Loadrunner之https协议录制回放报错如何解决?(九)
查看>>
python中xrange和range的异同
查看>>
列表、元组、集合、字典
查看>>
【Python】easygui小甲鱼
查看>>
【Python】关于Python多线程的一篇文章转载
查看>>
【Pyton】【小甲鱼】文件
查看>>
【Pyton】【小甲鱼】永久存储:腌制一缸美味的泡菜
查看>>
【Pyton】【小甲鱼】异常处理:你不可能总是对的
查看>>
APP性能测试工具
查看>>
【Pyton】【小甲鱼】类和对象
查看>>
压力测试工具JMeter入门教程
查看>>
作为一名软件测试工程师,需要具备哪些能力
查看>>