JAVA寫接口傻瓜($)教程(三)


  接上一篇

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

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM