接上一篇
補充:事實上java的類需要在src文件夾里寫,classes文件夾只是會同步src文件夾里的類。如果在classes文件夾里操作java類,是會提示文件只讀的。src文件夾中進行代碼編寫
5、數據庫連接代碼
到第三篇終於到了寫代碼的時間了嗚嗚...我選擇寫調試數據庫的代碼,直接寫sevlert的話debug比較麻煩,先寫數據庫部分就能有效避免數據庫出錯了。下面是代碼,注釋很詳細了
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) // import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; public class jdbc{ public jdbc () { } public static void main(String[] args) { String dbURL = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=S-T";//JDBC的本機地址,DatabaseName注意改成對應數據庫的名字 String userName = "sa"; String userPwd = "111";//SQD sever驗證的用戶名和密碼 Connection dbConn = null;//連接的實體 String sql = "select * from Student"; try { dbConn = DriverManager.getConnection(dbURL, userName, userPwd); Statement statement = dbConn.createStatement(); ResultSet resultSet = statement.executeQuery(sql);//執行SQL語句,用於產生單個結果集 System.out.println(resultSet);//返回值不為-11或空就證明SQL語句執行成功 } catch (SQLException var18) { var18.printStackTrace(); } finally { try { if (dbConn != null) {//結束時關閉連接 dbConn.close(); dbConn = null; } } catch (Exception var17) { } } } }
6、使用fastjson將查詢出的結果生成json數據
在日志解析,前后端數據傳輸交互中,經常會遇到字符串(String)與json
,XML
等格式相互轉換與解析,其中json
以跨語言,跨前后端的優點在開發中被頻繁使用,基本上可以說是標准的數據交換格式。fastjson是一個java語言編寫的高性能且功能完善的JSON庫,它采用一種“假定有序快速匹配”的算法,把JSON Parse
的性能提升到了極致。它的接口簡單易用,已經被廣泛使用在緩存序列化,協議交互,Web輸出等各種應用場景中。
如果簡介看不懂也沒關系,我們只需知道,fastjson使用前需要有一個類說明它要轉化的對象的樣式。這個類需要有空構造函數、一般構造函數,每一個屬性都需要有對應的get、set方法。下面是一個學生類
public class student { String name; String id; String sex; String age; public student(){ } public student(String name,String id,String sex,String age){ this.age=age; this.name=name; this.id=id; this.age=age; } public void setName(String name){ this.name=name; } public void setId(String id){ this.id=id; } public void setSex(String sex){ this.sex=sex; } public void setAge(String age){ this.age=age; } public String getName(){ return name; } public String getId(){ return id; } public String getSex(){ return sex; } public String getAge(){ return age; } }
import com.alibaba.fastjson.JSONObject; import java.sql.*; import java.util.ArrayList; import java.util.List; //這是查詢后顯示的代碼,詳情看注釋 public class connect { public static void main(String[] args) { String dbURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=S-T"; String userName="sa"; String userPwd="111"; Connection dbConn = null; String sql="select * from Student";//同連接數庫的含義 List<student> students=new ArrayList<>();//開一個list來保存學生信息 try { //response.setContentType("text/html"); dbConn= DriverManager.getConnection(dbURL,userName,userPwd); Statement statement=dbConn.createStatement(); ResultSet resultSet=statement.executeQuery(sql); while (resultSet.next()){//每查詢到一條記錄 student st=new student();//存儲一個新對象 st.setName(resultSet.getString("Sname"));//注意觀察,set方法是針對student類的,getString里對應的是數據庫中的列明 st.setId(resultSet.getString("Sno")); st.setSex(resultSet.getString("Ssex")); st.setAge(resultSet.getString("Sage")); students.add(st);//加入list } System.out.println(JSONObject.toJSONString(students));//轉變為json對象 } catch (SQLException e) { e.printStackTrace(); } finally { try {//關閉連接 if(dbConn!=null) { dbConn.close(); dbConn=null; } } catch(Exception ex) { } } } }
查詢結果,可以看出是json格式