zoukankan      html  css  js  c++  java
  • 数据库连接(Oracle/sqlServer增、删、改、查)

    一、把数据库包导入项目中,并且Build path(oracle例如ojdbc6.jar;sqlServer例如sqljdbc.jar)

    二、开始操作

    1.普通连接: 

      String className="oracle.jdbc.driver.OracleDriver";//oracle的className(ojdbc6.jar)

      String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";//oracle的url(ojdbc6.jar)

      //String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";//sqlServer的className(sqljdbc.jar)

      //String url="jdbc:sqlserver://localhost:1433;databasename=数据库名";//sqlServer的urlsqljdbc.jar

      Class.forName(className);//导入驱动类

      Connection conn=DriverManager.getConnection(url,"sa","123");//创建数据库连接对象,三个参数分别为:url,user,password
      Statement st=conn.createStatement();
      //新增========================begin
      int addCount=st.executeUpdate("insert into AAA values('新增4','新增4','新增4')");
      if(addCount>0)
        System.out.println("新增成功");
      else
        System.out.println("新增失败");
      //新增========================end

      

      //删除========================begin
      int deleteCount = st.executeUpdate("delete AAA where "id"='新增4'");
      if(deleteCount>0)
      System.out.println("删除成功");
      else
      System.out.println("删除失败");
      //删除========================end


      //修改========================begin
      int updateCount=st.executeUpdate("update AAA set num ='修改1', tag ='修改1' where id ='3'");
      if(updateCount>0)
        System.out.println("修改成功");
      else
        System.out.println("修改失败");
      //修改========================end
      //查询========================begin
      ResultSet rs = st.executeQuery("select * from AAA");
      System.out.println("id num tag");
      while(rs.next()){
        String a=rs.getString(1);//根据下标取字段值,下标从1开始
        String b=rs.getString("num");//根据字段名取值,get后面跟的数据类型也是和数据库来定的,可以是int/double等
        String c=rs.getString(3);
        System.out.println(a+" "+b+" "+c);
      }
      //查询========================end

      rs.close();
      st.close();
      conn.close();

    2.预编译连接:

      String className="oracle.jdbc.driver.OracleDriver";//oracle的className(ojdbc6.jar)

      String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";//oracle的url(ojdbc6.jar)

      //String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";//sqlServer的className(sqljdbc.jar)
      //String url="jdbc:sqlserver://localhost:1433;databasename=数据库名";//sqlServer的url(sqljdbc.jar)

      Class.forName(className);//导入驱动类
      Connection conn=DriverManager.getConnection(url,"sa","123");//创建数据库连接对象,三个参数分别为:url,user,password
      //新增=============================begin
      String sql="insert into AAA values(?,?,?)";
      PreparedStatement ps = conn.prepareStatement(sql);
      ps.setString(1, "id5");//给预编译sql传值,String类型,其它类型可以自选比如:ps.setInt(1, 199);不论字段是什么类型,只要数据可以转得过来,可以是int/double等
      ps.setInt(2, 8);
      ps.setString(3, "tag4");
      int executeUpdate = ps.executeUpdate();
      if(executeUpdate>0)
        System.out.println("新增成功");
      else
        System.out.println("新增失败");
      //新增=============================end
      //修改=============================begin
      String sql1="update AAA set num =?";
      PreparedStatement ps1 = conn.prepareStatement(sql1);
      ps1.setString(1, "4");//给预编译sql传值,String类型,其它类型可以自选比如:ps.setInt(1, 199);不论字段是什么类型,只要数据可以转得过来,可以是int/double等
      //ps1.setString(2, "id1");
      int executeUpdate1 = ps1.executeUpdate();
      if(executeUpdate1>0)
        System.out.println("修改成功");
      else
        System.out.println("修改失败");
      //修改=============================end
      //查询=============================begin
      String sql2="select * from AAA";
      PreparedStatement ps2 = conn.prepareStatement(sql2);
      //预编译没有参数要传,可以不传,String类型,其它类型可以自选比如:ps.setInt(1, 199);不论字段是什么类型,只要数据可以转得过来,可以是int/double等
      ResultSet rs = ps2.executeQuery();
      System.out.println("id num tag ");
      while(rs.next()){
        System.out.println(rs.getString(1)+" "+rs.getInt("num")+" "+rs.getString(3));

        /get后面跟的数据类型也是和数据库或自己的需求来定的,不论字段是什么类型,只要数据可以转得过来,可以是int/double等
      }
      //查询=============================end
      //新增=============================begin
      String sql3="delete AAA where id =?";
      PreparedStatement ps3 = conn.prepareStatement(sql3);
      ps3.setString(1, "id2");//给预编译sql传值,String类型,其它类型可以自选比如:ps.setInt(1, 199);不论字段是什么类型,只要数据可以转得过来,可以是int/double等
      int executeUpdate3 = ps3.executeUpdate();
      if(executeUpdate3>0)
        System.out.println("删除成功");
      else
        System.out.println("删除失败");
      //新增=============================end

      rs.close();
      ps.close();
      ps1.close();
      ps2.close();
      ps3.close();
      conn.close();

    3.方法封闭,配置文件使用: 

     1)新建db.config文件放在项目根目录

     2)db.config的内容为:(下面为oracle连接的配置,sqlserver等其它数据库可以对应参照上文提到的路径进行对应修改)

        className=oracle.jdbc.driver.OracleDriver
        url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
        user=sa
        password=123

     3)其它代码:

      InputStream fit=new FileInputStream("db.config");
      Properties p=new Properties();
      p.load(fit);

      String className=p.getProperty("className");//oracle的className(ojdbc6.jar)
      String url=p.getProperty("url");//oracle的url(ojdbc6.jar)
      String user=p.getProperty("user");
      String password=p.getProperty("password");

      fit.close();
      //String className="com.microsoft.sqlserver.jdbc.SQLServerDriver";//sqlServer的className(sqljdbc.jar)
      //String url="jdbc:sqlserver://localhost:1433;databasename=数据库名";//sqlServer的url(sqljdbc.jar)

      Class.forName(className);//导入驱动类
      Connection conn=DriverManager.getConnection(url,user,password);

      //其它……略

      //执行SELECT语句
      public ResultSet query(String sql,Object...objects) throws SQLException{
        PreparedStatement ps = this.conn.prepareStatement(sql);
        for(int i=0; i<objects.length; i++)
          ps.setObject(i+1, objects[i]);
        return ps.executeQuery();
      }

      //执行UPDATEINSERTDELETE语句
      public int update(String sql,Object...objects) throws SQLException{
        PreparedStatement ps = this.conn.prepareStatement(sql);
        for (int i = 0; i < objects.length; i++) {
          ps.setObject(i+1, objects[i]);
        }
        int count=ps.executeUpdate();
        ps.close();
        return count;
      }

       //关闭……略

  • 相关阅读:
    HTTP content-type及POST提交数据方式
    Spring Kafka
    Spring动态数据源-AbstractRoutingDataSource(实现分库分表)
    HTTP通信安全和Web攻击技术
    HTTP协议
    zookeeper 图形化的客户端工具:ZooInspector
    centos 中v2r客户端配置实例
    查看视频详细信息
    centos7 创建用户
    logstash
  • 原文地址:https://www.cnblogs.com/janesyf/p/7841161.html
Copyright © 2011-2022 走看看