⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbserver.java~2~

📁 用java写编写的一个GPS源代码请大家多多指教
💻 JAVA~2~
字号:
package com.gps.center.dataservice;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2006</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
import  org.enhydra.jdbc.pool.StandardPoolDataSource;
import org.enhydra.jdbc.standard.StandardConnectionPoolDataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.Time;
import java.util.Calendar;
import java.util.GregorianCalendar;

public class DbServer
{
  String name=null;
  String password=null;
  String driver=null;
  String url=null;
  StandardPoolDataSource dbpool;
  ReadXML read=null;
  Statement st=null;
  PreparedStatement ps=null;
   GregorianCalendar calendar;//日历
  public DbServer()
  {
    calendar = new GregorianCalendar();
    read = new ReadXML();
    read.readXML();//读取配置信息
    this.name=read.name;
    this.password=read.password;
    this.driver=read.driver;
    this.url=read.url;
    init();//初始化连接池对象
  }
  public void updateTrackForceGpsInfo(String[] gpsStr) {
    //DeviceID,Longitude,Latitude,Speed
//    Connection conn = null;
//    Statement stmt = null;
//    String sql = null;
//    sql = new String("UPDATE IWTRACKEDASSET" + " SET SPEED=" + gpsStr[3] +
//                     ",CURRENTX=" + gpsStr[1] + ",CURRENTY=" + gpsStr[2] +
//                     " WHERE MID=" + gpsStr[0]);
//    //sql = new String("UPDATE IWTRACKEDASSET SET SPEED = "+"100"+ ",CURRENTX = " + "48.789" + ",CURRENTY = " +"56.789" +" WHERE MID = " + "13810495604")
//    try {
//      conn = dbPool.getConnection();
//      stmt = conn.createStatement();
//      stmt.executeUpdate(sql);
//    }
//    catch (SQLException ex) {
//      ex.printStackTrace();
//    }
//    finally {
//      try {
//        stmt.close();
//        conn.close();
//      }
//      catch (SQLException ex1) {
//        ex1.printStackTrace();
//      }
//    }
  }

  private void init()
  {
    try
    {
      //创建数据库连接池连接对象
      StandardConnectionPoolDataSource connect = new
          StandardConnectionPoolDataSource();
      connect.setDriverName(driver);
      connect.setUrl(url);
      connect.setUser(name);
      connect.setPassword(password);
      //用当前数据库连接对象创建数据库连接池
      dbpool = new StandardPoolDataSource(connect);
      dbpool.setMaxSize(10);
      dbpool.setMinSize(5);
      dbpool.setUser(name);
      dbpool.setPassword(password);


    }catch(Exception e)
    {
      e.printStackTrace();
      System.exit(1);
    }
  }

  //添加或更新车台信息表GPS信息
  public void addVehicleInfo()
  {
    Connection conn=null;
     ResultSet set=null;
    String id = "13579511357";
    String sqlStr=null;
    /*long t=(new java.util.Date()).getTime();
    Time time = new Time(t);
    System.out.println();
        */
    try
    {
      //从连接池中获得数据库连接对象
      conn = dbpool.getConnection();
      conn.setAutoCommit(false);
      st=conn.createStatement();
      sqlStr = "Select * FROM VEHICLEINFO WHERE DIV_ID='"+id+"'";
      set=st.executeQuery(sqlStr);
      if(set.next())//该车台已经存在
      {
        //调用函数更新该车台信息表
        updateVehicleInfo("VEHICLEINFO",id);
        //向该车台明晰表中插入新的GPS信息
        insertIntoTable("D_"+id);

      }else//向车台信息表中插入新车台记录
      {
        sqlStr="CREATE TABLE D_"+id+"(DIV_ID varchar(12),INCEPT_TIME DATE,"
              +"LOCATION_SING varchar2(10) ,LATITUDE varchar2(10),SOUTH_NORTH varchar2(10),"
              +"LONGITUDE varchar2(15),EAST_WEST varchar2(10),SPEED varchar2(10),"
              +"DIRECTION varchar2(10),STATE varchar2(10),"
              +"TEMPERATURE varchar2(10),MILEAGE varchar2(10),TRAVEL_TIME varchar2(10))";
        st.executeUpdate(sqlStr);
        conn.commit();
        st.close();
        //向车台信息表中插入新车台的信息
        insertIntoTable("VEHICLEINFO");
         //向新车台明晰表中插入信息
        insertIntoTable("D_"+id);
    }
    }catch(SQLException e)
    {
      e.printStackTrace();
      System.exit(1);
    }finally
    {
      try
      {
        set.close();
       conn.close();
      }catch(SQLException e2)
      {
        e2.printStackTrace();
        System.exit(1);
      }
    }
 }
//添加设备回传的Gps信息
 private void insertIntoTable(String tName)
 {
   Connection conn=null;
   String sql="INSERT INTO "+tName+"(DIV_ID,"
                +"LOCATION_SING,LATITUDE,SOUTH_NORTH,"
                +"LONGITUDE ,EAST_WEST,SPEED,"
                +"DIRECTION ,STATE,"
                +"TEMPERATURE ,MILEAGE,TRAVEL_TIME,INCEPT_TIME)"
                +"VALUES(?,?,?,?,?,?,?,?,?,?,?,?,sysdate)";
   try
   {
     conn=dbpool.getConnection();
     conn.setAutoCommit(false);
     ps=conn.prepareStatement(sql);
     ps.setString(1,"13579511357");
     ps.setString(2,"");
     ps.setString(3,"");
     ps.setString(4,"");
     ps.setString(5,"");
     ps.setString(6,"");
     ps.setString(7,"");
     ps.setString(8,"");
     ps.setString(9,"");
     ps.setString(10,"");
     ps.setString(11,"");
     ps.setString(12,"");
     ps.executeQuery();
     conn.commit();
   }catch(SQLException e3)
   {
     e3.printStackTrace();
     System.exit(1);
   }finally
   {
     try
     {
       ps.close();
       conn.close();
       conn=null;
       ps=null;
     }catch(SQLException e4)
     {
       e4.printStackTrace();
       System.exit(1);
     }
   }
 }

//更新车台信息表中该车台的GPS信息
 private void updateVehicleInfo(String tName,String id)
 {
   Connection updateConn=null;
   PreparedStatement statement=null;
   String updateSql="UPDATE "+tName;
   updateSql = updateSql+" SET LOCATION_SING=?,LATITUDE=?,SOUTH_NORTH=?,"
               +"LONGITUDE=? ,EAST_WEST=?,SPEED=?,"
               +"DIRECTION=? ,STATE=?,"
               +"TEMPERATURE=? ,MILEAGE=?,TRAVEL_TIME=?,INCEPT_TIME=sysdate";
  updateSql = updateSql + " where DIV_ID='"+id+"'";

   try
   {
     updateConn=dbpool.getConnection();
     updateConn.setAutoCommit(false);//设置数据库连接自动更新为假
     statement=updateConn.prepareStatement(updateSql);
      statement.setString(1,"");
      statement.setString(2,"");
      statement.setString(3,"");
      statement.setString(4,"");
      statement.setString(5,"");
      statement.setString(6,"");
      statement.setString(7,"");
      statement.setString(8,"");
      statement.setString(9,"");
      statement.setString(10,"");
      statement.setString(11,"");
      statement.executeUpdate();
     updateConn.commit();
   }catch(SQLException e5)
   {
     e5.printStackTrace();
     System.exit(1);
   }finally
   {
     try
     {
       statement.close();
       updateConn.close();
     }catch(SQLException e6)
     {
       e6.printStackTrace();
       System.exit(1);
     }
   }

 }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -