做這個題庫系統(tǒng)需要按照mvc設計一下, 最近我也實現(xiàn)一個類似的, 下面說下我的設計

創(chuàng)新互聯(lián)主營余杭網(wǎng)站建設的網(wǎng)絡公司,主營網(wǎng)站建設方案,重慶APP軟件開發(fā),余杭h5微信小程序開發(fā)搭建,余杭網(wǎng)站營銷推廣歡迎余杭等地區(qū)企業(yè)咨詢
數(shù)據(jù)庫mysql+開發(fā)環(huán)境eclipse+jdk1.8, 然后基于一個整合框架把項目搭建起來
設計基礎試題表, 這個主要有類型難度等等
設計試卷表, 試卷表由create的時候根據(jù)輸入的規(guī)則自動根據(jù)上面的基礎題庫表組裝而成
剩下的用戶管理, 導出就比較容易了, 導出可以用poi導出成word
愛考在線考試系統(tǒng) 1.2.1 版本 web瀏覽 全國唯一開源免費在線考試系統(tǒng) 1.支持幾乎所有的題型,包括選擇題,判斷題,填空題,問答題,復合題(選詞,完型填空,閱讀理解),多空選擇題,連線題等; 2.支持智能出卷,讓您可以根據(jù)題型,章節(jié)(知識分類),試題難度,分值等組成一份完整的試卷; 3.支持在線練習或考試,并能設置考試的考生(或員工)范圍,時間。讓您能輕松組織一場在線考試; 4.支持客觀題自動判卷以及主觀題手動判卷,并能自動核計總分,并統(tǒng)計排名,生成成績分析報表; 5.簡化錄入試題功能,支持智能識別,能極大簡化你的錄入工作; 6.支持共享題庫。讓用戶可以從愛考網(wǎng)下載試題,試卷,讓您分享海量題庫。 免除自己錄題的煩惱; 7.是免費開源的在線考試系統(tǒng),您不需要為此支付任何費用,并且可以下載源代碼以供學習和研究。
1.Java連接MySQL數(shù)據(jù)庫
Java連接MySql需要下載JDBC驅動MySQL-connector-java-5.0.5.zip(舉例,現(xiàn)有新版本)。然后將其解壓縮到任一目錄。我是解壓到D盤,然后將其目錄下的MySQL-connector-java-5.0.5-bin.jar加到classpath里,具體如下:
“我的電腦”- “屬性” - “高級” - “環(huán)境變量”,在系統(tǒng)變量那里編輯classpath,將D:\MySQL-connector-java-5.0.5\MySQL-connector-java-5.0.5-bin.jar加到最后,在加這個字符串前要加“;”,以與前一個classpath區(qū)分開。然后確定。
package hqs;
import java.sql.*;
public class DataBasePractice {
public static void main(String[] args) {
//聲明Connection對象
Connection con;
//驅動程序名
String driver = "com.mysql.jdbc.Driver";
//URL指向要訪問的數(shù)據(jù)庫名mydata
String url = "jdbc:mysql://localhost:3306/mydata";
//MySQL配置時的用戶名
String user = "root";
//MySQL配置時的密碼
String password = "root";
//遍歷查詢結果集
try {
//加載驅動程序
Class.forName(driver);
//1.getConnection()方法,連接MySQL數(shù)據(jù)庫!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println("Succeeded connecting to the Database!");
//2.創(chuàng)建statement類對象,用來執(zhí)行SQL語句!!
Statement statement = con.createStatement();
//要執(zhí)行的SQL語句
String sql = "select * from student";
//3.ResultSet類,用來存放獲取的結果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("執(zhí)行結果如下所示:");
System.out.println("-----------------");
System.out.println(" 學號" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
String id = null;
while(rs.next()){
//獲取stuname這列數(shù)據(jù)
name = rs.getString("stuname");
//獲取stuid這列數(shù)據(jù)
id = rs.getString("stuid");
//首先使用ISO-8859-1字符集將name解碼為字節(jié)序列并將結果存儲新的字節(jié)數(shù)組中。
//然后使用GB2312字符集解碼指定的字節(jié)數(shù)組。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//輸出結果
System.out.println(id + "\t" + name);
}
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//數(shù)據(jù)庫驅動類異常處理
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
//數(shù)據(jù)庫連接失敗異常處理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}finally{
System.out.println("數(shù)據(jù)庫數(shù)據(jù)成功獲取!!");
}
}
}
2.添加、修改、刪除操作
在上面while代碼段后面添加以下代碼段:String name = null;
String id = null;
while(rs.next()){
//獲取stuname這列數(shù)據(jù)
name = rs.getString("stuname");
//獲取stuid這列數(shù)據(jù)
id = rs.getString("stuid");
//首先使用ISO-8859-1字符集將name解碼為字節(jié)序列并將結果存儲新的字節(jié)數(shù)組中。
//然后使用GB2312字符集解碼指定的字節(jié)數(shù)組。
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
//輸出結果
System.out.println(id + "\t" + name);
}
PreparedStatement psql;
ResultSet res;
//預處理添加數(shù)據(jù),其中有兩個參數(shù)--“?”
psql = con.prepareStatement("insert into student values(?,?)");
psql.setInt(1, 8); //設置參數(shù)1,創(chuàng)建id為5的數(shù)據(jù)
psql.setString(2, "xiaogang"); //設置參數(shù)2,name 為小明
psql.executeUpdate(); //執(zhí)行更新
//預處理更新(修改)數(shù)據(jù)
psql = con.prepareStatement("update student set stuname = ? where stuid = ?");
psql.setString(1,"xiaowang"); //設置參數(shù)1,將name改為王五
psql.setInt(2,10); //設置參數(shù)2,將id為2的數(shù)據(jù)做修改
psql.executeUpdate();
//預處理刪除數(shù)據(jù)
psql = con.prepareStatement("delete from student where stuid = ?");
psql.setInt(1, 5);
psql.executeUpdate();
//查詢修改數(shù)據(jù)后student表中的數(shù)據(jù)
psql = con.prepareStatement("select*from student");
res = psql.executeQuery(); //執(zhí)行預處理sql語句
System.out.println("執(zhí)行增加、修改、刪除后的數(shù)據(jù)");
while(res.next()){
name = res.getString("stuname");
id = res.getString("stuid");
name = new String(name.getBytes("ISO-8859-1"),"gb2312");
System.out.println(id + "\t" + name);
}
res.close();
psql.close();
該代碼段使用到了預處理語句:con.prepareStatement(String sql);
這樣生成數(shù)據(jù)庫底層的內部命令,并將該命令封裝在preparedStatement對象中,可以減輕數(shù)據(jù)庫負擔,提高訪問數(shù)據(jù)庫速度。 運行結果:
網(wǎng)頁題目:java出題系統(tǒng)源代碼,java編程代碼題庫及答案
標題網(wǎng)址:http://chinadenli.net/article28/dsgcsjp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供域名注冊、動態(tài)網(wǎng)站、、商城網(wǎng)站、網(wǎng)站排名、微信小程序
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)