zoukankan      html  css  js  c++  java
  • JDBC的使用——Statement


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


    }

    }

  • 相关阅读:
    最适合人工智能开发的5种编程语言优缺点对比
    最适合人工智能开发的5种编程语言优缺点对比
    Laravel 获取当前 Guard 分析 —源自电商购物车的实际需求
    Laravel 获取当前 Guard 分析 —源自电商购物车的实际需求
    Laravel 获取当前 Guard 分析 —源自电商购物车的实际需求
    Laravel 获取当前 Guard 分析 —源自电商购物车的实际需求
    Docker学习之搭建MySql容器服务
    Docker学习之搭建MySql容器服务
    Docker学习之搭建MySql容器服务
    C#中的interface没那么简单
  • 原文地址:https://www.cnblogs.com/james1207/p/3283332.html
Copyright © 2011-2022 走看看