JDBC是Java最基本的数据库操作途径,虽然现在有了更高端的Hibernate和JPA,但是其实它们的底层还是用的这些最基本的JDBC。而且,如果开发一个小型的应用程序,使用Hibernate不免有些大材小用,使用起来也相当笨重。使用JDBC的大概过程为:1,加载JDBC驱动程序 2,创建数据库连接 3,执行SQL语句(Statement,PreparedStatement和CallableStatement) 4,获得查询结果 5,关闭连接。这篇日志先只使用Statement演示数据库的插入,删除,修改,查询。

MyeClipse里新建一个Java Project。首先别忘了把sqljdbc4.jar加入classpath。可以直接去改那个.classpath文件,也可以在MyEclipse下这样操作:工具栏Project->Properties->Java Build Path->Libraries然后点击Add External JARs按钮,找到sqljdbc4.jar的路径就OK了。

写的代码如下:

import .......;
public class Test1 {
//连接本地数据库的两种写法
// private static final String URL="jdbc:sqlserver://localhost:1433;DatabaseName=TestDB";
// private static final String URL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=TestDB";
   private static final String URL="jdbc:sqlserver://222.26.168.72:1433;DatabaseName=TestDB";
                                         //连接异地数据库,这里用的是寝室另一台电脑的IP
   private static final String USERNAME="sa";
   private static final String PASSWORD="1234";
   static{
    try {
   Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载JDBC驱动程序
} catch (ClassNotFoundException e) {
   System.out.println("发生如下异常:");
   e.printStackTrace();
}
   }
public static void main(String[] args) {
      try {
   Connection conn=DriverManager.getConnection(URL, USERNAME,PASSWORD);//建立数据库连接
   Statement statement=conn.createStatement();
   //插入记录*********************************************************************
   String sql="insert into cchild values('Roney2','Tomsy2','1998-02-06',12)";
   String sql2="insert into cchild values('Kaka','yyu','1998-02-06',12)";
   //statement.executeUpdate(sql);
   statement.execute(sql);//可以不使用executQuery或者executUpdate方法了
   statement.execute(sql2);
   
   //修改记录*********************************************************************
   String sql3="update cchild set age=13 where birthday='1998-02-06'";
   statement.execute(sql3);
  
  
   //删除记录*********************************************************************
   String sql4="delete from cchild where cusername='Wu'";
   statement.execute(sql4);
  
  
   //查询记录*********************************************************************
   String sql5="select * from cchild";
   statement.execute(sql5);
   ResultSet rs=statement.getResultSet();//注意这里有错
   //也可以用ResultSet rs= statement.executeQuery(sql5);代替上面两条语句
   ResultSetMetaData rsmd=rs.getMetaData();//这里能够得到 返回数据表的详细信息 ,列标号也是从1开始
   System.out.println(rsmd.getColumnName(1)+" "+rsmd.getColumnName(2)+" "+
               rsmd.getColumnName(3)+" "+rsmd.getColumnName(4));//得到各列的列名
   while (rs.next()) {
    String cusername=rs.getString(1);//从1开始的
    String childname=rs.getString(2);
    String birthdaty=rs.getString(3);
    int age=rs.getInt(4);
    System.out.println(cusername+" "+childname+" "+birthdaty+" "+age);
   }
  
   statement.close();//关闭statement
   conn.close();//关闭数据库连接
   System.out.println("success***********");
} catch (SQLException e) {
   System.out.println("产生异常");
    e.printStackTrace();
}

}

}

JDBC的使用——Statement的更多相关文章

  1. JDBC中的Statement和PreparedStatement的区别

    JDBC中的Statement和PreparedStatement的区别  

  2. MySQL异常:Caused by: com.mysql.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or client request

    Caused by: com.mysql.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or cl ...

  3. jdbc中的Statement对象和Preparedstatement对象的区别,以及通过jdbc操作调用存储过程

    一. java.sql.*   和  javax.sql.*的包的类结构 |- Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口. |- connect(url, p ...

  4. JDBC batch批处理Statement executeBatch 具体解释

    JDBC提供了数据库batch处理的能力,在数据大批量操作(新增.删除等)的情况下能够大幅度提升系统的性能.我曾经接触的一个项目,在没有採用batch处理时,删除5万条数据大概要半个小时左右,后来对系 ...

  5. JDBC batch批量Statement executeBatch 详细解释

    JDBC提供了数据库batch处理的能力,在数据大批量操作(新增.删除等)的情况下能够大幅度提升系统的性能.我曾经接触的一个项目,在没有採用batch处理时,删除5万条数据大概要半个小时左右,后来对系 ...

  6. JDBC中的Statement和PreparedStatement的差别

    以Oracle为例吧 Statement为一条Sql语句生成运行计划, 假设要运行两条sql语句 select colume from table where colume=1; select col ...

  7. JDBC的使用-----Statement

    JDBC的查询步骤1.加载数据库驱动类 1)在工程下新建lib文件夹,将 ojdbc6.jar(jar包在:E:\oracle\product\11.2.0\dbhome_1\jdbc\lib)拷贝至 ...

  8. Java -- JDBC 学习--通过Statement进行数据库更新操作

    通过 JDBC 向指定的数据表中插入一条记录. 1. Statement: 用于执行 SQL 语句的对象 1). 通过 Connection 的 createStatement() 方法来获取 2). ...

  9. [转] JDBC中的Statement和PreparedStatement的区别

    以Oracle为例吧 Statement为一条Sql语句生成执行计划,如果要执行两条sql语句select colume from table where colume=1;select colume ...

随机推荐

  1. HDU 1074 Doing Homework (状态压缩 DP)

    题目大意: 有 n 项作业需要完成,每项作业有上交的期限和需完成的天数,若某项作业晚交一天则扣一分.输入每项作业时包括三部分,作业名称,上交期限,完成所需要的天数.求出完成所有作业时所扣掉的分数最少, ...

  2. 【LeetCode练习题】Recover Binary Search Tree

    Recover Binary Search Tree Two elements of a binary search tree (BST) are swapped by mistake. Recove ...

  3. Android应用开发学习之Toast消息提示框

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 本文我们来看Toast消息提示框的用法.使用Toast消息提示框一般有三个步骤: 1.  创建一个Toast对象.可 ...

  4. Codeforces Round #389(div 2)

    A =w= B QvQ C 题意:在一个格子图里给出一个路径 里面有UDLR四种移动方向 问 我在格子路径里面最少选几个点 可以让我沿着格子路径走 其实是在相邻的点与点之间走最短路 分析:贪心+模拟 ...

  5. PHP连接Mysql服务器的操作

    我们的数据存储在数据库中以后,要把数据和网页联系起来的话,要通过web服务器的解释器进行读取数据,再传递给客户端网页.如图: 这里,我选择了PHP作为学习的解释器.下面就具体来总结一下PHP连接MYS ...

  6. c++编程碰到的奇怪问题与解决

    今天写一个工具,调试过程中莫名其妙崩溃,类某些成员变量指针很奇怪,为0x00003001.最后检查的结果居然是这样的: 文件class1.h: class1 { int a; int b; } 文件: ...

  7. 参数化SQL小认识

    在做机房收费系统项目,编写数据连接并访问数据库时,见别人都用了带“@”字符的SQL语句,就很好奇为什么都用这个语句呢?直接拼写SQL语句不是更加方便吗?带着这个问题上网查资料,才知道原来他们用的是参数 ...

  8. [Spring入门学习笔记][创建网站URL]

    设计网站的URL 现代的Web站点都会设计一套拥有明确意义,方便用户记忆的URL,不论是域名还是路径,以天码营为例: http://tianmaying.com/courses表示网站下所有的课程列表 ...

  9. 如何排版 微信公众号「代码块」之 MarkEditor

    前段时间写过一篇文章 如何排版微信公众号「代码块」,讲的是如何使用浏览器插件 Markdown Here 来排版代码块.虽然用 Markdown Here 排版出来的样式还不错,但存在一个问题,就是代 ...

  10. javascript,css3加载动画

    html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <me ...