1.JDBC:

  • Java数据库连接(Java Database Connectivity,JDBC),是一种用于执行SQL语句的Java API,它由一组用Java编程语言编写的类和接口组成。
  • JDBC为数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。
  • 使用JDBC编写的程序能够自动地将SQL语句传送给相应的数据库管理系统。
  • JDBC扩展了Java的功能,由于Java语言本身的特点,使得JDBC具有简单、健壮、安全、可移植、获取方便等优势。

2.JDBC API

接口/类 功能说明
DriverManager 数据库驱动管理类,用于加载和卸载各种驱动程序,并建立于数据库的连接
Connection 此接口用于连接数据库
Statement 此接口用于执行SQL语句并将数据检索到ResultSet中
ResultSet 结果集接口,提供检索SQL语句返回数据的各种方法
PreparedStatement 此接口用于执行预编译的SQL语句
CallableStatement 此接口用于执行SQL存储过程的语句

3.JDBC结构

1.JDBC API是Java开发工具包(JDK)的组成部份:

JDBC驱动程序管理器

JDBC驱动程序测试工具包

JDBC-ODBC桥

2.JDBC驱动程序管理器是JDBC体系结构的支柱,其主要作用是把Java应用程序连接到正确的JDBC驱动程序上。

3.JDBC驱动程序测试工具包为JDBC驱动程序的运行提供一定的可信度,只有通过JDBC驱动程序测试包的驱动程序才被认为是符合JDBC标准的。

4.JDBC-ODBC桥使ODBC驱动程序可被用作JDBC驱动程序。其目标是为方便实现访问某些不常见的DBMS,它的实现为JDBC的快速发展提供了一条途径

4.JDBC开发步骤

使用JDBC访问数据库的基本步骤一般如下:

  • 加载JDBC驱动程序
  • 创建数据库连接
  • 创建Statement对象
  • 执行SQL语句
  • 处理返回结果
  • 关闭创建的对象

5.有关next()

ResultSet是您访问数据库返回的数据表,也就是结果集合,一开始是处于第一行之前,即beforeFirst,第一次使用next()就将指针指向返回结果集的第一行。每使用一次next(),指针就指向下一行,这时候你就可以使用rs.getObject()或者getInt()或者getString()之类的方法返回该行的某一个字段的值,也就是getObject()方法里面的参数可以传递索引(索引由1开始),即如果你的数据库第一列的数据叫id,那你可以用getObject("id")或者getObject(1)得到你的rs目前指着的那一条数据的该列的值。当next()成功的时候其实会返回一个布尔值true,当指针指到最后一行的后面时候,即afterLast()就返回布尔值false。 所以第一次调用next()的时候应该是指向第一行数据。next()在指针指向第一行之前到最后一行之间的返回true的,也就是当你的指针已经指向到最后一行的数据集了,再用一次next()是返回true的,但此时再用一次next()就是false,因为执政已经到最后一行的后面了(也就是afterLast).

6.第一个程序代码:

import java.sql.*;
public class Four
{
private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String url="jdbc:sqlserver://888888-pc:1433;DatabaseName=StudentScore";
private static String user="sa";
private static String password="###";
@SuppressWarnings("resource")
public static void main(String[] args)
{
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try
{
Class.forName(driver);
conn=DriverManager.getConnection(url,user,password);
//stmt=conn.createStatement();

/* stmt.executeUpdate("CREATE DATABASE HEO");//创建数据库
stmt.close();
conn.close();
*/
url="jdbc:sqlserver://888888-pc:1433;DatabaseName=HELLO";
conn=DriverManager.getConnection(url,user,password);
stmt=conn.createStatement();//打开数据库
DatabaseMetaData meta=conn.getMetaData();//判断表是否存在
ResultSet set=meta.getTables(null, null, "test", null);
if(!set.next())//不存在就创建表
{
stmt.executeUpdate("CREATE TABLE test (sNo CHAR(20) NOT NULL PRIMARY KEY,sName char(20),sex CHAR(2) NOT NULL)");
}
// stmt.executeUpdate("INSERT INTO test(sNo,sName,sex) VALUES('2018','hi','男')");
//stmt.executeUpdate("INSERT INTO test(sNo,sName,sex) VALUES('2017','cs','女')");//插入数据
rs=stmt.executeQuery("SELECT *from test WHERE sName='sc'");//进行挑选
while(rs.next())
{
String no=rs.getString("sNo");
String name=rs.getString("sName");
String sex=rs.getString("sex");
System.out.println(no+" "+name+" "+sex+" ");
}
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(conn!=null) conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
}

sql初——基础的更多相关文章

  1. SQL server基础知识(表操作、数据约束、多表链接查询)

    SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...

  2. 数据库开发基础-SQl Server 基础

    SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language  结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...

  3. 【SQL Server】SQL Server基础之存储过程

    SQL Server基础之存储过程  阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储 ...

  4. Sql Server 基础知识

    Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.c ...

  5. Oracle数据库编程:PL/SQL编程基础

    2.PL/SQL编程基础: PL/SQL块:        declare        定义部分        begin        执行部分        exception        异 ...

  6. Oracle Pl/SQL编程基础

    Pl/SQL简介 提高应用程序的运行性能, 提供模块化的程序设计, 自定义标示符, 具有过程语言控制结构, 良好的兼容性, 处理运行错误. Pl/SQL语言基础 sql是关系数据库的基本操作语言. s ...

  7. SQL Tuning 基础概述10 - 体会索引的常见执行计划

    在<SQL Tuning 基础概述05 - Oracle 索引类型及介绍>的1.5小节,提到了几种"索引的常见执行计划": INDEX FULL SCAN:索引的全扫描 ...

  8. SQL数据库基础知识-巩固篇<一>

    SQL数据库基础知识-巩固篇<一>... =============== 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用 ...

  9. oracle PL/SQL语法基础

    目录 数据类型 定义变量 PL/SQL控制结构 参考资料 Oracle10g数据类型总结 PL/SQL之基础篇 数据类型 学习总结 字符类型 char.nchar.varchar.nvarchar:有 ...

随机推荐

  1. PHP输出函数

    1.print()输出 header('Content-Type:text/html;charset=utf-8'); print ("最近想学习PHP,大家推荐哪个学校好点?/n" ...

  2. 【BZOJ3534】[SDOI2014] 重建(矩阵树定理)

    点此看题面 大致题意: 给你一张图,每条边有一定存在概率.求存在的图刚好为一棵树的概率. 矩阵树定理是什么 如果您不会矩阵树定理,可以看看蒟蒻的这篇博客:初学矩阵树定理. 矩阵树定理的应用 此题中,直 ...

  3. (三十九)golang--反序列化

    反序列化:是指将json字符串反序列化成原来的数据类型. import ( "encoding/json" "fmt" ) type monster struc ...

  4. Appium 环境配置

    前言 Appium 作为移动端自动化测试工具在业界非常流行,特别是在当前移动互联网背景下,很多公司基于此框架来开展自动化测试.但 appium 的环境配置相对 selenium 来说复杂的多,让很多同 ...

  5. .NET Core 2.1 以下的控制台应用程序生成 EXE,且使用命令行参数动态运行控制器应用程序的示例

    文章: https://stackoverflow.com/questions/44038847/vs2017-compile-netcoreapp-as-exe 引用 <ItemGroup&g ...

  6. 初探云原生应用管理(二): 为什么你必须尽快转向 Helm v3

    系列介绍:这个系列是介绍如何用云原生技术来构建.测试.部署.和管理应用的内容专辑.做这个系列的初衷是为了推广云原生应用管理的最佳实践,以及传播开源标准和知识.在这个系列文章的开篇初探云原生应用管理(一 ...

  7. RESTful及API设计(原)

    RESTful是一种架构风格,是由Fielding博士在自己的博士论文中提出并详细论述的. 它是用于指导web系统设计的,而指导API设计只是它的一小部分功能而已,如果只用它指导API设计就太大材小用 ...

  8. Oracle 原生驱动带来的精度问题的分析与解决

    问题 Oracle 官方提供了 dotnet core 驱动,但我们在使用中遇到了精度问题. 复现 以下代码运行数学运算 1/3,无论是 OracleCommand.ExecuteScalar() 还 ...

  9. Spring源码系列 — 容器Extend Point(一)

    前言 前文介绍了Spring中的BeanDefinition的细节,随着Spring的启动流程,这节我们介绍Spring的后续处理过程 - Spring的扩展点: BeanFactoryPostPro ...

  10. [.NET] 控制只启动单个指定外部程序

    独立观察员 2019 年 6 月 12 日 有的时候我们程序需要启动外部程序来配合实现某些功能,比如启动一个 Cef 相关程序来承载网页.那么如果那个外部程序并没有实现单例启动,我们程序去启动它的时候 ...