1 package com.caipei.thread; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.io.OutputStreamWriter; 7 import java.io.Writer; 8 import java.net.ServerSocket; 9 import java.net.Socket; 10 import java.sql.Connection; 11 import java.sql.DriverManager; 12 import java.sql.ResultSet; 13 import java.sql.SQLException; 14 import java.sql.Statement; 15 import java.text.SimpleDateFormat; 16 import java.util.Calendar; 17 import java.util.Random; 18 19 public class ServerDemo { 20 //crc 校验 21 private static CrcUtil demo; 22 //str 转字节 23 private static StringToByteutil strToByte; 24 private static Connection conn = null; 25 private SimpleDateFormat formatter = new SimpleDateFormat( 26 "yyyy-MM-dd HH:mm:ss"); 27 static String driver = "com.mysql.jdbc.Driver"; 28 // URL指向要访问的数据库名****** 29 //static String url = "jdbc:mysql://:3306/hhxficdz_schema"; 30 static String url = "jdbc:mysql://localhost:3306/hhxficdz_schema"; 31 // MySQL配置时的用户名 32 static String user = ""; 33 // Java连接MySQL配置时的密码****** 34 //static String password = ""; 35 static String password = "123456"; 36 //crc校验 37 private static CrcUtil crc; 38 private static Connection getconn() { 39 //驱动程序名//不固定,根据驱动 40 try { 41 Class.forName(driver); 42 conn = DriverManager.getConnection(url, user, password); 43 } catch (SQLException e) { 44 // TODO Auto-generated catch block 45 e.printStackTrace(); 46 } catch (ClassNotFoundException e) { 47 // TODO Auto-generated catch block 48 e.printStackTrace(); 49 } 50 // System.out.println(props.getProperty("mysql.connection.driver_class")); 51 return conn; 52 }
处理数据库
1 ResultSet rs = null; 2 Statement stmt = null; 3 String state=null; 4 String eqid=null; 5 String returnNun=null; 6 conn = getconn(); 7 stmt = conn.createStatement(); 8 9 // 01:查询充电桩状态 10 if (taskNum.equals("01")) 11 { 12 try { 13 // 要执行的SQL语句eqnum中的项。 14 String sql = " select * from t_eqregister where eqnum='"+ choNum + "'"; 15 rs = stmt.executeQuery(sql); 16 //输出id值和content值 17 while(rs.next()) { 18 flag=0; 19 //充电桩状态 20 state = rs.getString("state"); 21 //如果充电桩状态是 3 将充电桩状态 置0 22 if (Integer.valueOf(state)==3) { 23 //修改充电桩注册表的状态为1 24 String eqsql = " update t_eqregister t set t.state=0 where t.eqnum='"+choNum+"'"; 25 stmt.execute(eqsql); 26 } 27 28 //校验码之前字符串 29 String leftstr="FF"+"00"+sb.substring(4,12)+"0"+state; 30 int le=leftstr.length()/2; 31 //校验码计算 32 String yanNum=String.valueOf(Integer.toHexString(demo.CRC16(strToByte.stringToByte(leftstr),le))).toUpperCase(); 33 returnNun=leftstr+yanNum; 34 35 } 36 rs.close(); 37 conn.close(); 38 } catch (SQLException e) { 39 // TODO Auto-generated catch block 40 e.printStackTrace(); 41 } 42 }