JDBC 模版

JDBC 的工作原理

JDBC API

提供者:Sun公司

内容:供程序员调用的接口与类,集成在java.sql 和javax.sql 包中,如:

DriverManager 类

Connection 接口

PreparedStatement 接口

ResultSet 接口

DriverManager

提供者:Sun公司

作用:管理各种不同的JDBC 驱动

JDBC 驱动

提供者:数据库厂商

作用:负责连接各种不同的数据库

java 应用程序

JDBC API

JDBC Driver Manager

JDBC 驱动 --->sql server   JDBC 驱动 ----> oracle

JDBC API

JDBC API  主要功能:与数据库建立连接、执行SQL 语句、处理结果

1、DriverManager

2、Connection

3、Statement

4、ResultSet  ---> 4个步骤 !

DriverManager :依据数据库的不同,管理JDBC驱动

Connection :负责连接数据库并担任传送数据的任务

PreparedStatement:由 Connection 产生、负责执行SQL语句

ResultSet:负责保存Statement执行后所产生的查询结果

try {

class.forName( JDBC 驱动类);

1、加载JDBC 驱动

Class. forName("com.mysql.jdbc.Driver");

2、与数据库建立连接

connection con=DriverManager.getConnection(URL,数据库用户名,密码);

//URL 用来标识数据库

PreparedStatement pstmt=con.PreparedStatement("查询sql语句");

ResultSet rs=pstmt.executeQuery();

//执行SQL语句,并得到返回结果

while (rs.next()){

int x=rs.getint("a");

String s=rs.getString("b");

float f=rs.getFloat("c");

// 处理放回结果

}

rs.close();

pstmt.close();

con.close(); //关闭连接

//释放资源

package com.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Scanner;

public class Test1 {

/**
     * @param args
     */
    public static void main(String[] args) {
        Connection conn=null;
        PreparedStatement pstmt=null;
        ResultSet rst=null;
        
       try {
            //1、加载驱动
           Class.forName("com.mysql.jdbc.Driver");
            //2、建立连接
         conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/nyschool?CharacterEncoding=UTF-8","root","root");
         //System.out.println("建立连接成功!!");
         //3、创建 prepareStatement 接口并编译 sql语句
         //pstmt=conn.prepareStatement("select * from student");
         //执行删除
         Scanner input=new Scanner(System.in);
         //System.out.print("请输入要删除的学生学号:");
         //int stuNo=input.nextInt();
         //两种方法:
         //方法1:String sql="DELETE  FROM student WHERE stuNo="+stuNo;
         //方法2:String sql="DELETE  FROM student WHERE stuNo=7";
        
         //执行添加
         System.out.print("请输入添加的学员的编号:");
          int stuNo=input.nextInt();
          System.out.print("请输入添加学员的性别:");
          String name=input.next();
          System.out.print("请输入添加的地址:");
          String phone=input.next();
          //
         String sql="INSERT INTO student VALUES (?,'a2323','qq',?,1,?,'江西南昌',SYSDATE(),'qq.com')";
         pstmt=conn.prepareStatement(sql); //预编译方式
          //给占位符赋值
         pstmt.setInt(1, stuNo);
         pstmt.setString(2, name);
         pstmt.setString(3, phone);
         System.out.print("sql:"+sql);
         //4、执行SQL语句,并得到返回结果
         //rst=pstmt.executeQuery(); //执行查询
         int num=pstmt.executeUpdate(); //执行增删改
          //5、处理返回结果
          if(num>0){
              System.out.println("\n添加成功!");
          }else{
              System.out.println("\n添加失败!");
          }
        
            while (rs.next()){

int x=rs.getint("a");

String s=rs.getString("b");

float f=rs.getFloat("c");

// 处理放回结果

} catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        
        }

Java 第27章 JDBC的更多相关文章

  1. Java开发工程师(Web方向) - 03.数据库开发 - 第1章.JDBC

    第1章--JDBC JDBC基础 通过Java Database Connectivity可以实现Java程序对后端数据库的访问 一个完整的数据库部署架构,通常是由客户端和服务器端两部分组成 客户端封 ...

  2. JAVA / MySql 编程——第七章 JDBC

    1.JDBC:JDBA是Java数据库连接(Java DataBase Connectivity)技术的简称,提供连接各种常用数据库的能力:         ●Java是通过JDBC技术实现对各种数据 ...

  3. Java面向对象笔记 • 【第9章 JDBC编程】

    全部章节   >>>> 本章目录 9.1 JDBC基础 9.1.1 JDBC简介 9.1.2 JDBC常用API简介 JDBC 常用API功能说明 9.1.3 JDBC编程步骤 ...

  4. Java中的事务——JDBC事务和JTA事务

    Java中的事务——JDBC事务和JTA事务 转载:http://www.hollischuang.com/archives/1658 之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中 ...

  5. 第六章 JDBC

    第一章 JDBC 一.JDBC的简介 1.什么是JDBC JDBC是java数据库连接(java database connectivity)技术的简称,它充当了java应用程序与各个不同数据库之间进 ...

  6. Java基础-面向接口编程-JDBC详解

    Java基础-面向接口编程-JDBC详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.JDBC概念和数据库驱动程序 JDBC(Java Data Base Connectiv ...

  7. Java应用程序连接数据库--JDBC基础

    Java应用程序连接数据库--JDBC基础   Java应用程序连接数据库–JDBC基础 <!-- MySQL驱动,连接数据库用,由数据库厂商提供 --> <dependency&g ...

  8. java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法

    java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver 错误的解决办法 (2011-05-05 16:08:05) 转载▼ ...

  9. 【ASP.NET MVC 5】第27章 Web API与单页应用程序

    注:<精通ASP.NET MVC 3框架>受到了出版社和广大读者的充分肯定,这让本人深感欣慰.目前该书的第4版不日即将出版,现在又已开始第5版的翻译,这里先贴出该书的最后一章译稿,仅供大家 ...

随机推荐

  1. jquery 序列化

    //生成发件人Json信息 function buildSenderInfoJson() { var sendName = $("#SendName").val(); var se ...

  2. OO.A.D.P

    OO/A/D/P 对象和类 三大特征 对象: 对象是面向对象语言的一个极为重要的特点,所有的面向对象语言都有对象的共性. 1. 职责(单一) 2. 属性(数据.可改变的) 3. 函数(行为.方法.业务 ...

  3. Linux课程实践四:ELF文件格式分析

    一.ELF文件格式概述 1. ELF文件 ELF:Executable and Linking Format,是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东 ...

  4. Java for循环的几种用法

    J2SE 1.5提供了另一种形式的for循环.借助这种形式的for循环,可以用更简单地方式来遍历数组和Collection等类型的对象.本文介绍使用这种循环的具体方式,说明如何自行定义能被这样遍历的类 ...

  5. 顶点着色器详解 (Vertex Shaders)

    学习了顶点处理,你就知道固定功能流水线怎么将顶点从模型空间坐标系统转化到屏幕空间坐标系统.虽然固定功能流水线也可以通过设置渲染状态和参数来改变最终输出的结果,但是它的整体功能还是受限.当我们想实现一个 ...

  6. go 获取函数被调用的文件即行数

    import "runtime" _, file, line, ok = runtime.Caller(calldepth) 其中calldepth 指的调用的深度,为0时,打印当 ...

  7. xcode的类库报错,如何解决

    首先看一下自己报错的原因,是当前UIkit框架还是别的,然后按住Command+shift+G 把"/Applications/Xcode.app/Contents/Developer/Pl ...

  8. java序列化深拷贝

    java深拷贝 序列化和反序列化合成在一起的方法CloneUtils import java.io.ByteArrayInputStream; import java.io.ByteArrayOutp ...

  9. jQuery Mobile 可折叠

    可折叠的内容块 可折叠(Collapsibles)允许您隐藏或显示内容 - 对于存储部分信息很有用. 如需创建可折叠的内容块,请向某个容器分配 data-role="collapsible& ...

  10. Android Studio线下版和线上版都使用正式签名脚本(保证keysore签名文件和项目在同级目录),不用再因为繁琐的发正式版而烦恼

    场景:调用微信等第三方应用时如果生成的版本不是正式签名的可能会调用失败,使用如下脚本不用再为繁琐的发正式签名版而烦恼 app项目中的build.gradle追加如下代码: //使用正式签名脚本(保证k ...