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或全部数据的更多相关文章

  1. JZTK项目 驾照题库项目servlet层得到的json字符串在浏览器中 汉字部分出现问号?无法正常显示的解决方法

    servlet层中的代码如下: package com.swift.jztk.servlet; import java.io.IOException; import javax.servlet.Ser ...

  2. java 数据类型:枚举类enum、对比方法compreTo()、获取名字.name()、获取对应值的枚举类Enum.valueOf()、包含构造方法和抽象方法的enum;实现接口;

    问题引入 为了将某一数据类型的值限定在可选的合理范围内,比如季节只有四个:春夏秋冬. 什么是枚举类 Java5之后新增了enum关键字(他与class,interface关键字地位相同)用来定义枚举类 ...

  3. SM32 USART与USB接收不定数据方法,标准库、HAL库都适用

    很多时候,我们使用串口或USB接收数据时,往往不知道PC端会发多长的数据下来, 为了解决这个不定数据接收问题,在此各提供一个解决思路. 串口数据不定接收: 由于STM32单片机带IDLE中断,所以利用 ...

  4. Linux系统入门命令100条 转

    https://www.howtoforge.com/linux-commands/ 2017-04-27 RiboseYim 睿哥杂货铺 Author : Himanshu Arora 原文:htt ...

  5. MVC架构在Asp.net中的应用和实现

    转载自:http://www.cnblogs.com/baiye7223725/archive/2007/06/07/775390.aspx 摘要:本文主要论述了MVC架构的原理.优缺点以及MVC所能 ...

  6. 【Android进阶】为什么要创建Activity基类以及Activity基类中一般有哪些方法

    现在也算是刚刚基本完成了自己的第一个商业项目,在开发的过程中,参考了不少人的代码风格,然而随着工作经验的积累,终于开始慢慢的了解到抽象思想在面向对象编程中的重要性,这一篇简单的介绍一下我的一点收获. ...

  7. WOE:信用评分卡模型中的变量离散化方法(生存分析)

    WOE:信用评分卡模型中的变量离散化方法 2016-03-21 生存分析 在做回归模型时,因临床需要常常需要对连续性的变量离散化,诸如年龄,分为老.中.青三组,一般的做法是ROC或者X-tile等等. ...

  8. 第8.18节 Python类中内置析构方法__del__

    一. 引言 基本上所有支持OOP设计的语言都支持析构方法(也称析构函数),析构方法都是在对象生命周期结束时调用,一般用来实施实例相关生命周期内访问数据的扫尾工作,包括关闭文件.释放内存.输出日志.清理 ...

  9. vue-cli中引入jquery的方法

    vue-cli中引入jquery的方法 以前写vue项目都没有引入过jquery,今天群里面的一位小伙伴问了我这个问题,我就自己捣鼓了一下,方法如下: 我们先进入webpack.base.conf.j ...

随机推荐

  1. noi省选 [九省联考2018]一双木棋题解(状压dp)

    比浙江简单多了........ 题目转送:https://www.luogu.org/problemnew/show/P4363 分析: 我们注意到n和m都很小,考虑一下状压dp. 显然,棋子摆成的形 ...

  2. 华东交通大学2017年ACM“双基”程序设计竞赛 1005

    Problem Description 假设你有一个矩阵,有这样的运算A^(n+1) = A^(n)*A (*代表矩阵乘法)现在已知一个n*n矩阵A,S = A+A^2+A^3+...+A^k,输出S ...

  3. spark_load csv to hive via hivecontext

    //prepare csv year,make,model,comment,blank "2012","Tesla","S","N ...

  4. idea中导入githup项目

    转载大神: https://blog.csdn.net/m0_37630602/article/details/69950528

  5. windows cmd 透明化

    1 . 属性 -- 颜色 --不透明度 2 . 快捷键 : Ctrl+Shift+加号/减号 3. cmd 下快速查找文件 : dir a.txt /S

  6. windows7安装完上不了网

    安装完Windows7后发现上不了网,网卡驱动没有安装的原因:但是没有网怎么下载驱动呢,,先装一个网卡版驱动精灵(貌似叫驱动精灵万能网卡版)什么的安装一个网卡驱动,就解决了

  7. Htpp通讯协议详解

    转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...

  8. angularjs $state.go页面不刷新数据

    假如进入market/beian/add添加数据,保存提交后回退market/beian列表页,没有自动更新数据,必须得手动下拉刷新才会出来 $state.go("marketBeian&q ...

  9. iis mvc html

    iis mvc项目显示view文件夹下的html <system.webServer><handlers> <add name="JavaScriptHandl ...

  10. Day3上

    T1 星空[问题描述]你是能看到第一题的friends 呢.——hja点点星空是一张