在项目开发中,本地系统需要连接其他系统中的数据库获取数据,此时采用jdbc连接数据库,代码为:
1 private Connection connection;
//jdbc连接数据库,init初始化方法
2 private void init() {
3 if(!hasInit) {
4 String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
5 String dbURL = "jdbc:sqlserver://172.18.199.214:1433; DatabaseName=VEG_SYS";
6 String username = "DBW";
7 String pwd = "123456";
8 try {
9 Class.forName(driverName);
10 connection = DriverManager.getConnection(dbURL, username, pwd);
11 }catch (Exception e) {
12 e.printStackTrace();
13 }
14 hasInit = true;
15 }
16 }
17 //拼接sql,返回结果集,将结果集转化成List<Map<String,Object>>格式返回
18 public List<Map<String, Object>> getCarInfoByCarNo(String where) throws Exception{
19 init();
20 List<Map<String, Object>> result = new ArrayList<Map<String,Object>>();
21 Statement statement = connection.createStatement();
22 String sql1 = "select\r\n" +
23 " top 10\r\n"+
24 " t.I_IntId as Id\r\n"+
25 " ,t.C_CarsNo as CarsNo\r\n" +
26 " ,t.C_InCarsNo as OutInCarsNo\r\n" +
27 " ,t.C_PastName as PastName\r\n" +
28 " ,t.C_RulesName as RulesName\r\n" +
29 " ,t.I_InTime as OutInTime\r\n" +
30 " ,t.C_CarsOwnerPhoneNo as Phone\r\n" +
31 " ,t.C_InDepart as OutInDept\r\n" +
32 " ,t.C_CustomNo as ICCard\r\n" +
33 " ,t.C_AreaName as AreaName\r\n" +
34 " ,t.C_CarsOwner as CarsOwner\r\n" +
35 " ,t.C_PlateColor as PlateColor\r\n" +
36 " ,t.I_InRulesId as OutInRulesId\r\n" +
37 " from\r\n" +
38 " (select\r\n" +
39 " a.I_IntId\r\n" +
40 " ,a.C_CarsNo\r\n" +
41 " ,a.C_InCarsNo\r\n" +
42 " ,b.C_PastName\r\n" +
43 " ,a.I_InTime\r\n" +
44 " ,h.C_CarsOwnerPhoneNo\r\n" +
45 " ,c.C_RulesName\r\n" +
46 " ,a.C_InDepart\r\n" +
47 " ,h.C_CustomNo\r\n" +
48 " ,f.C_AreaName\r\n" +
49 " ,h.C_CarsOwner\r\n" +
50 " ,g.C_PlateColor\r\n" +
51 " ,a.I_InRulesId\r\n" +
52 " ,SUBSTRING(CONVERT(varchar(100), a.I_InTime, 20),1,16) as ctine\r\n" +
53 " from [CR].Cars_InRecord a\r\n" +
54 " join [CA].Cars_Permissions_Rules_Main c on c.I_IntId = a.I_InRulesId\r\n" +
55 " join [GI].Cars_Guard_Past b on b.I_IntId = a.I_InPastId\r\n" +
56 " join GI.Cars_Guard_Area f on f.I_IntId =a.I_AreaId\r\n" +
57 " join CI.Cars_Info h on h.I_IntId=a.I_CarsId\r\n" +
58 " left join CR.Cars_PlateInfo g on a.C_InCarsNo=g.C_CarsNo\r\n" +
59 " left join CI.InStatePerson j on a.C_IdentityNo=j.C_IdentityNo "+where+") t ORDER BY OutInTime DESC";
60
61 ResultSet rs = statement.executeQuery(sql1);
62 System.out.println(sql1);
63 while(rs.next()){
64 // System.out.println(rs.getString("C_EngineeringNo"));
65 Map<String, Object> car = new HashMap<String, Object>();
66 car.put("Id", rs.getString("Id"));
67 car.put("CarsNo", rs.getString("CarsNo"));
68 car.put("OutInCarsNo", rs.getString("OutInCarsNo"));
69 car.put("OutInDept", rs.getString("OutInDept"));
70 car.put("PastName", rs.getString("PastName"));
71 car.put("RulesName", rs.getString("RulesName"));
72 car.put("OutInTime", rs.getString("OutInTime"));
73 car.put("Phone", rs.getString("Phone"));
74 car.put("ICCard", rs.getString("ICCard"));
75 car.put("AreaName", rs.getString("AreaName"));
76 car.put("CarsOwner", rs.getString("CarsOwner"));
77 car.put("PlateColor", rs.getString("PlateColor"));
78 car.put("OutInRulesId", rs.getString("OutInRulesId"));
79 result.add(car);
80 }
81 statement = connection.createStatement();
82 return result;
83 }
插入数据方法:
1 public void createBlackInfo(String sql) throws Exception{
2 init();
3 Statement statement = connection.createStatement();
4 String sql1 = where;
//executeUpdate为插入语句
5 statement.executeUpdate(sql1);
6 System.out.println(sql1);
7 statement = connection.createStatement();
8 }