java連線資料庫,並把查詢的結果轉換為JSON步驟記錄
阿新 • • 發佈:2018-12-11
myeclipse連線mysql資料庫
下載mysql和myeclipse;-
記錄一下我的myeclipse連線mysql所遇見的問題
1.第一步在myeclipse建立一個java工程
new->java project
2.第二步在工程檔案下建立lib資料夾,匯入mysql的驅動包(還不會在CSDN新增上傳jar包,jar包在我的百度雲盤)
3.在myeclipse裡面建立資料庫連線
在彈出的串列埠選擇new一個新的連線
在這樣設定以後發現報錯了,哈哈。
在URL的後面加上這句話 ?useUnicode=true&characterEncoding=utf8,就可以正常通過了。
接下來在寫一個測試的方法,就可以 測試資料庫的連線功能了
建立表students
這是我的測試功能函式
public class DBUtil { private static final String URL="jdbc:mysql://127.0.0.1:3306/weixy?useUnicode=true&characterEncoding=utf8"; private static final String USER="root"; private static final String PASSWORD="123456"; public static void main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver"); Connection conn=(Connection) DriverManager.getConnection(URL, USER, PASSWORD); Statement stmt = (Statement) conn.createStatement(); ResultSet rs=stmt.executeQuery("select * from students where 1=1"); //將rs轉化為LIST的兩種方法 //第一種借用bean的方法 // ArrayList<students> lists=new ArrayList(); // while(rs.next()){ //// System.out.println(rs.getString("STU_ID")); //// System.out.println(rs.getString("STU_NAME")); // students stu=new students(); // stu.setStu_address(rs.getString("STU_ADDRESS")); // stu.setStu_age(rs.getString("STU_AGE")); // stu.setStu_class(rs.getString("STU_CLASS")); // stu.setStu_id(rs.getString("STU_ID")); // stu.setStu_name(rs.getString("STU_NAME")); // stu.setStu_sex(rs.getString("STU_SEX")); // System.out.println(stu.getStu_address()); // System.out.println(stu.getStu_age()); // System.out.println(stu.getStu_class()); // System.out.println(stu.getStu_id()); // System.out.println(stu.getStu_name()); // System.out.println(stu.getStu_sex()); // lists.add(stu); // } //第二張方法 List ls=converList(rs); } private static List converList(ResultSet rs) throws SQLException{ List list=new ArrayList(); ResultSetMetaData md=(ResultSetMetaData) rs.getMetaData(); int colnum=md.getColumnCount(); while(rs.next()){ Map<String,String> rowData=new HashMap(); for(int i=1;i<=colnum;i++){ rowData.put(md.getColumnName(i).toString(), rs.getObject(i).toString()); System.out.println(md.getColumnName(i)); System.out.println(rs.getObject(i).toString()); } list.add(rowData); } JSONArray json=new JSONArray(); json=JSONArray.fromObject(list); System.out.println(json.size()); return list; } }
這是第一種用bean來存放資訊的方法。
public class students { private String stu_id; private String stu_name; private String stu_sex; private String stu_age; private String stu_class; private String stu_address; public String getStu_id() { return stu_id; } public String getStu_name() { return stu_name; } public String getStu_sex() { return stu_sex; } public String getStu_age() { return stu_age; } public String getStu_class() { return stu_class; } public String getStu_address() { return stu_address; } public void setStu_id(String stu_id) { this.stu_id = stu_id; } public void setStu_name(String stu_name) { this.stu_name = stu_name; } public void setStu_sex(String stu_sex) { this.stu_sex = stu_sex; } public void setStu_age(String stu_age) { this.stu_age = stu_age; } public void setStu_class(String stu_class) { this.stu_class = stu_class; } public void setStu_address(String stu_address) { this.stu_address = stu_address; } }
額,第二張方法是用MAP來存放資訊,並將資訊放入list裡面,再將List轉換乘JSON的格式。這個JSON需要匯入jar包,
執行的結果是
第一次寫可能描述不是很清楚,而且jar沒有上傳,以後需要在進行修改