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();
        
        }

转载于:https://www.cnblogs.com/hanxiaowen/p/5601808.html

Java 第27章 JDBC相关推荐

  1. java第七章jdbc课后简答题_java学习路线流程

    第一阶段JavaSE: 第一章:jdk的安装与配置 第二章:Java基础语法: 变量.常量.数据类型.关键字 运算符和表达式:运算符:+.-.*./ 表达式:正则表达式 关系及逻辑运算符:关系运算符: ...

  2. java第七章jdbc课后简答题_jsp编程基础第七章习题

    第七章数据库访问 一.选择题 1.下面哪一项不是JDBC的工作任务?() A)与数据库建立连接B)操作数据库,处理数据库返回的结果 C)在网页中生成表格D)向数据库管理系统发送SQL语句 2.下面哪一 ...

  3. java第七章jdbc课后简答题_Java周测题08.13

    1.关于Mybatis的描述正确的是:Mybatis是持久层框架,Mybatis封装了JDBC,Mybatis简化了代码的编辑和使用,Mybatis是一个半ORM(对象关系映射)框架, Mybatis ...

  4. java第七章jdbc课后简答题_javaEE简答题答案

    一.简答题(30分,6题*5分) (一)第一章概述 1.三层体系结构的优点有哪些?p2 (1)安全性高(2)易维护(3)快速响应(4)系统扩展灵活 2.两层体系结构的缺点有哪些?p2-3 (1)安全性 ...

  5. JavaStudy15(27章-满汉楼)—B站韩顺平

    JavaStudy12(27章-满汉楼)-B站hsp 1.程序框架图 2 代码演示 2.1 DAO层 package com.qinbo.mhl.dao;import com.qinbo.mhl.ut ...

  6. Java基础篇:JDBC核心技术

    文章目录 第1章:JDBC概述 1.1 数据的持久化 1.2 JDBC介绍 1.3 JDBC程序编写步骤 第2章:获取数据库连接 2.1 要素一:Driver接口实现类 2.1.1 Driver接口介 ...

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

    转载自 Java中的事务--JDBC事务和JTA事务 我的博客中曾经关于事务有过很多讨论,之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中和事务相关的内容,在阅读本文之前,希望读者对分 ...

  8. 【数据库】第四章 JDBC、MyBatis

    第四章 JDBC.MyBatis 文章目录 第四章 JDBC.MyBatis 一.JDBC 1.介绍 2.架构 3.常用接口 4.操作流程 5.模拟登录功能 一.MyBatis 1.导入 pom.xm ...

  9. java数据库编程之JDBC

    第七章:JDBC 7.1:jDBC简介 7.1.1:为什么要使用JDBC Java是通过JDBC技术实现对数据的访问的,JDBC是java数据库(Java database  connectivity ...

最新文章

  1. linux上给其他在线用户发送信息(wall, write, talk, mesg)
  2. mybatis学习(十一)——springmvc++spring+mybatis整合
  3. 必须知道的 Visual Studio 快捷键
  4. qsort 三级排序
  5. 深根固柢 云起磐石——移动云大云磐石服务器重磅推出
  6. 真首发!雷军预热小米12:第一时间把最新最酷的科技带给用户
  7. 归并排序时间复杂度_一文带你读懂排序算法(四):归并算法
  8. Centos更新配置文件命令
  9. Windows Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践
  10. 仿真软件有哪些测试,仿真怎么去仿?测试怎么去测?虽然是问答篇,干货也不少,不要错过了!...
  11. Windows10操作系统搭建C语言开发环境
  12. 搜索不到网络计算机和设备,电脑搜不到无线网络原因分析和对应解决办法
  13. 中级微观经济学:Chap 6 需求
  14. 利用css制作二级下拉菜单
  15. 光环python培训
  16. C语言中数值后面跟字母解析
  17. ajax 等待,等待所有的ajax请求都完成
  18. 对“佩戴低度数近视镜可延缓近视发展?”的一些疑问
  19. IoT赛道2019风向,升级为智联网AIoT,AI独角兽入场,“手机+AIoT”成标配【物女心经】
  20. iOS 12实现应用内录屏

热门文章

  1. jvm类加载、初始化
  2. 简单的社交网络分析(基于R)
  3. 读-福瑞哈哥-的POE学习笔记
  4. Google地图搜索的触角伸向月球
  5. laravel路由无法访问,报404,No query results for model [App\Models\...]
  6. R中基本命名(未完)
  7. 以太坊智能合约开发:让合约接受转账
  8. 微信企业号:shell定时发送图片 到 指定人
  9. 经典算法学习——冒泡排序
  10. callable object与新增的function相关 C++11中万能的可调用类型声明std::function...