接上一篇
補充:事實上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格式

