转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5847020.html 

学习Java开发,一个必须掌握的知识点,就是数据库操作。当程序需要用到的数据达到一定程度时,就不能简单地用本地文件来储存了,而是借助数据库。

目前,用的最多的数据库有MySql,Oracle等,Java编程中连接、使用不同数据库的操作都是大同小异的,这里以MySql数据库为例。

JDBC编程其实不难,有一个固定的使用套路:

1) 加载 Driver 驱动:Class.forName("com.mysql.jdbc.Driver");

2) 创建数据库连接对象,登录到数据库: Connection conn=DriverManager.getConnection("jdbc:mysql://...(地址,端口),"数据库用户名","数据库密码");

3) 创建一个可向数据库发送 SQL 命令并返回结果的传送对象:Statement statement=conn.createStatement();
4) 创建SQL命令并执行:String sql="sql命令语句"; statement.executeUpdate(sql);resultset=statement.executeQuery(sql);
5) 如果是执行查询类命令,会有结果集返回,处理结果集获取每一条记录的具体属性的具体数据:

while(resultset.next()){int/double/String  a=resultset.getInt/Double/String("属性名");}

注意:结果集是一个表,第一行是属性名,第二行开始才是具体的数据,所以首先要通过resultset.next()把游标移动到第二行,看有没有数据,有则进行提取。

6)关闭结果集:resultset.close();

7) 关闭对应的 Statement 对象:statement.close();
8) 关闭连接对象 Connection:conn.close();

应用到代码实例:

public String doLogin(String code_input,int password_input)
{
  Connection conn=null;
  Statement stmt=null;
  ResultSet rs=null;   try{
    Class.forName("com.mysql.jdbc.Driver");     conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bank","root","123456");
    stmt=conn.createStatement();     String sql="select * from account where code = '"+code_input+"' and password = "+password_input;
    rs=stmt.executeQuery(sql);     if(rs.next())
    {
      return code_input;
    }else{
      return "-1";
    }     }catch(Exception ex)
    {
    ex.printStackTrace();
    return "-1";
    }finally
    {
    if(rs!=null)
    {
    try{
    rs.close();
    }catch(Exception ex)
    {
    ex.printStackTrace();
    }
   }
    if(stmt!=null)
    {
    try{
    stmt.close();
    }catch(Exception ex)
    {
    ex.printStackTrace();
    }
    }
    if(conn!=null)
    {
    try{
    conn.close();
    }catch(Exception ex)
    {
    ex.printStackTrace();
    }
   }
  } }

Java JDBC编程套路教程的更多相关文章

  1. Java网络编程简明教程

    Java网络编程简明教程 网络编程  计算机网络相关概念 计算机网络是两台或更多的计算机组成的网络,同一网络内的任意两台计算机可以直接通信,所有计算机必须遵循同一种网络协议. 互联网 互联网是连接计算 ...

  2. 【Java】JDBC编程套路

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5847020.html 学习Java开发,一个必须掌握的知识点,就是数据库操作.当程序需要用到的数据达到一定程度 ...

  3. 小菜鸟之java JDBC编程

    JDBC技术 百度简介 :  JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一 ...

  4. java JDBC编程流程步骤

    JDBC:Java Data Base Connection JDBC是用于运行sql语句并从数据库中获取新新的java API. JDBC是用来(让我们的程序)通过网络来操作数据库的,作用非常重要: ...

  5. java网络编程小白教程

    1 网络编程 1.1 网络 把多台终端(计算机)通过物理线路连接起来,形成网络.便于交换数据.共享信息.组成更强大的逻辑体. 1.1.1 网络通信三要素 [1]IP地址:唯一标识网络上的每一台计算机 ...

  6. Java JDBC下执行SQL的不同方式、参数化预编译防御

    相关学习资料 http://zh.wikipedia.org/wiki/Java数据库连接 http://lavasoft.blog.51cto.com/62575/20588 http://blog ...

  7. Java基础教程:JDBC编程

    Java基础教程:JDBC编程 1.什么是JDBC JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库. JDBC A ...

  8. JAVA基础知识之JDBC——编程步骤及执行SQL

    JDBC编程步骤 下面以mysql数据库为例, 1.加载驱动 首先需要下载数据库的驱动jar文件,并且在eclipse包中加入到class path中去, 例如mysql的驱动文件 mysql-con ...

  9. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

随机推荐

  1. TK1 设置最大频率

    支持的值:cat /sys/kernel/debug/clock/gbus/possible_rates当前值:cat /sys/kernel/debug/clock/gbus/rate 设置最大值: ...

  2. Calendar获取当天的初始时间,当月的初始时间,当年的初始时间

    如下:

  3. .Net Core中文编码问题整理

    1..Net Core Console控制台程序 在.Net Core中默认System.Text中不支持CodePagesEncodingProvider.Instance, System.Text ...

  4. TensorFlow训练神经网络cost一直为0

    问题描述 这几天在用TensorFlow搭建一个神经网络来做一个binary classifier,搭建一个典型的神经网络的基本思路是: 定义神经网络的layers(层)以及初始化每一层的参数 然后迭 ...

  5. Apache的三种工作模式

    Web服务器Apache目前一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式. 它们分别是prefork,worker和event,它们同时也代表这Apac ...

  6. 第二章 Base64与URLBase64

    2.1.算法基本规则: 加密的算法公开 加密的密钥不公开 Base64算法公开.密钥也公开的特性不符合基本算法规则,所以很容易被破解,所以一般不用于企业级的加密操作. 注意:具体的算法与密钥(对于Ba ...

  7. go语言之进阶篇单向channel的应用 (生产者,消费者模型)

    1.单向channel的应用 示例: package main import ( "fmt" ) //此通道只能写,不能读 func producer(out chan<- ...

  8. Pascal's Triangle II Leetcode java

    题目: Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Return ...

  9. BUG的严重级别分类 BUG状态标准

    英文参考 BUG的严重级别分类 Severity This field describes the impact of a bug. Blocker Blocks development and/or ...

  10. js遍历Object所有属性

    在js中经常需要知道Object中的所有属性及值,然而若是直接弹出Object,则是直接显示一个对象,它的属性和值没有显示出来, 不是我们想要的结果,从而需要遍历Object的所有属性. var ob ...