1. 程式人生 > >隨機獲得MySQL數據庫中100條數據方法 駕照題庫項目 MVC架構 biz業務層的實現類 根據考試類型rand或order通過dao數據訪問層接口得到數據庫中100或全部數據

隨機獲得MySQL數據庫中100條數據方法 駕照題庫項目 MVC架構 biz業務層的實現類 根據考試類型rand或order通過dao數據訪問層接口得到數據庫中100或全部數據

mysql數據庫 imp swift mvc架構 als new util pack gson

package com.swift.jztk.biz;

import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Random;

import com.google.gson.Gson;
import com.swift.jztk.bean.Result;
import com.swift.jztk.bean.Root;
import com.swift.jztk.dao.IQuestionDao;
import com.swift.jztk.dao.QuestionDaoImpl; public class QuestionBizImpl implements IQuestionBiz { IQuestionDao dao = new QuestionDaoImpl(); @Override public String getQuestions(String testType) { List<Result> list = null; if (testType.equals("rand")) { HashSet
<Integer> set = new HashSet<Integer>();//生成一個哈希集合,用於存放隨機數 Random ran = new Random(); for (;;) {//無限循環 int n = ran.nextInt(200) + 1;// 1~200間的隨機整數,不加1是0到199 set.add(n);// 隨機數放到 整數類型的哈希集合中,保證沒有相同的整數 if (set.size() == 100) {
break; } } Iterator<Integer> it = set.iterator();//叠代器,用於獲取集合中各條內容 while (it.hasNext()) { int id = it.next(); Result result = dao.getResultById(id); list.add(result);//加入對象列表集合 Collections.sort(list, new Comparator<Result>() {// 比較器 匿名內部類 @Override public int compare(Result o1, Result o2) { int id1 = o1.getId(); int id2 = o2.getId(); return id1 - id2;// 按照id大小從小到大排序 } }); } } else if (testType.equals("order")) { list = dao.getAll();//MVC架構,數據訪問層用接口進行連接,得到數據庫中全部數據 } String json=listToJson(list); return json; } //把得到的List<Result>對象列表集合轉換成字符串 public String listToJson(List<Result> list) { Root root = new Root(); root.setResult(list); root.setStatusCode("000000"); root.setDesc("請求成功");//json實體類對象賦值 Gson gson = new Gson(); String json = gson.toJson(root);//json實體類對象用Gson解析成字符串 return json; } }

隨機獲得MySQL數據庫中100條數據方法 駕照題庫項目 MVC架構 biz業務層的實現類 根據考試類型rand或order通過dao數據訪問層接口得到數據庫中100或全部數據