⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbhelper.java

📁 采用Eclispe开发平台
💻 JAVA
字号:
package com.whatratimes.dbms;


import java.sql.Connection;
import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

/**
 * Created by IntelliJ IDEA.
 * User: Tao
 * Date: May 8, 2003
 * Time: 11:46:48 PM
 */
public class DBHelper
{

    public static final String TABLE_PACKAGE_PREFIX = "com.whatratimes.tables.";

    private static Connection dbConn;
    private static int BoardId = 0;
    private static int CourseId = 0;
    private static int ClassId = 0;
    private static int QuestionId = 0;
    private static int ExamId = 0;
    private static int AnnounceId = 0;
    private static int LogId = 0;
    private static int FileId = 0;
    private static int MessageId = 0;
    private static int AssignmentId = 0;
    private static int SubmitId = 0;
    private static int UploadId = 0;
    private static int PaperId = 0;
    private static int StudentId = 0;
    private static int TeacherId = 0;
    private static int CourseDeveloperId = 0;
    private static int AdministratorId = 0;
    private static int TeacherLogId = 0;
    private static int TeacherAwardId = 0;
    private static int TeacherTrainingId = 0;
    private static int TeacherExamId = 0;
    private static int TeacherEvaluationId = 0;

//    加盟方编号:3位字符,由用户输入。
//    学生编号:7位数字,从1000001至9999999,系统自动生成。
//    教师编号:4位数字,从1001至9999,系统自动生成。
//    教务管理员编号:3位数字,从101至700,系统自动生成。
//    课程开始师编号:3位数字,从701至999,系统自动生成。
//
//    班级编号:整数,由系统自动加1生成。
//    考试编号:整数,由系统自动加1生成。
//    课程编号:整数,由系统自动加1生成。
//    试题编号:整数,由系统自动加1生成。

/*

	<Resource name="jdbc/webeduDB" auth="Container"
      type="javax.sql.DataSource"
      password="webedu"
      driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
      maxIdle="2"
      maxWait="5000"
      username="webedu"
      url="jdbc:sqlserver://127.0.0.1\\webedu:1689;databaseName=webedu"
      maxActive="4"/>

	<ResourceLink global="jdbc/webeduDB" name="jdbc/webeduDB" type="javax.sql.DataSource"/>

 */
    static
    {
        load();
    }

    public static void load()
    {
        try
        {

        	 Context initContext = new InitialContext();
        	 Context envContext  = (Context)initContext.lookup("java:/comp/env");
        	 DataSource ds = (DataSource)envContext.lookup("jdbc/webeduDB");
        	 dbConn = ds.getConnection();

        	          	
            initKeys();
        } catch (Exception e)
        {
            e.printStackTrace();
        }

    }

    private static void initKeys()
    {
        CourseId = getMax("t_course", "CourseId");
        ClassId = getMax("t_class", "ClassId");
        QuestionId = getMax("t_question", "QuestionId");
        ExamId = getMax("t_exam", "ExamId");
        BoardId = getMax("t_bbs_board", "BoardId");
        AnnounceId = getMax("t_bbs_announce", "AnnounceId");
        LogId = getMax("t_course_history", "LogId");
        FileId = getMax("t_question_file", "FileId");
        MessageId = getMax("t_messages", "MessageId");
        AssignmentId = getMax("t_exam_assigned", "AssignmentId");
        SubmitId = getMax("t_exam_submit", "SubmitId");
        UploadId = getMax("t_exam_question_upload", "UploadId");
        PaperId = getMax("t_exam_question", "PaperId");
        StudentId = getMax("t_student", "UserId");
        int new_id = getMax("t_new_student", "NewId");

        TeacherId = getMax("t_teacher", "UserId");
        CourseDeveloperId = getMax("t_course_developer", "UserId");
        AdministratorId = getMax("t_administrator", "UserId");
        TeacherLogId = getMax("t_teacher_log", "TeacherLogId");
        TeacherAwardId = getMax("t_teacher_award", "TeacherAwardId");
        TeacherTrainingId = getMax("t_teacher_training", "TeacherTrainingId");
        TeacherExamId = getMax("t_teacher_exam", "TeacherExamId");
        TeacherEvaluationId = getMax("t_teacher_evaluation", "TeacherEvaluationId");

        if ( new_id > StudentId )
        {
            StudentId = new_id;
        }

        if ( StudentId == 0 )
        {
            StudentId = 1000000;
        }

        if ( TeacherId == 0 )
        {
            TeacherId = 1000;
        }

        if ( CourseDeveloperId == 0 )
        {
            CourseDeveloperId = 700;
        }

        if ( AdministratorId == 0 )
        {
            AdministratorId = 100;
        }

    }

    private static int getMax(String table_name, String pk_name)
    {
        QuerySQLExecuter sql = new QuerySQLExecuter();
        sql.appendTableName(table_name);
        sql.appendColumn("max(" + pk_name + ")", "n");

        Object[] objs = sql.executeQuery();

        if (objs.length == 0)
        {
            return 0;
        }

        Integer max = (Integer) ((Hashtable) objs[0]).get("n");

        if (max == null)
        {
            return 0;
        }

        return max.intValue();
    }

    public static Connection getDBConnection()
    {

        return dbConn;

    }

    public static synchronized int getNextCourseId()
    {

        return ++CourseId;
    }

    public static synchronized int getNextQuestionId()
    {
        return ++QuestionId;

    }

    public static synchronized int getNextExamId()
    {
        return ++ExamId;
    }

    public static synchronized int getNextAnnounceId()
    {
        return ++AnnounceId;
    }

    public static synchronized int getNextLogId()
    {
        return ++LogId;
    }

    public static synchronized int getNextFileId()
    {
        return ++FileId;
    }

    public static synchronized int getNextAssignmentId()
    {
        return ++AssignmentId;
    }

    public static synchronized int getNextSubmitId()
    {
        return ++SubmitId;
    }

    public static synchronized int getNextUploadId()
    {
        return ++UploadId;
    }

    public static synchronized int getNextPaperId()
    {
        return ++PaperId;
    }

    public static synchronized int getNextStudentId()
    {
        return ++StudentId;
    }

    public static synchronized int getNextTeacherId()
    {
        return ++TeacherId;
    }

    public static synchronized int getNextCourseDeveloperId()
    {
        return ++CourseDeveloperId;
    }

    public static synchronized int getNextAdministratorId()
    {
        return ++AdministratorId;
    }

    public static synchronized int getNextTeacherLogId()
    {
        return ++TeacherLogId;
    }

    public static synchronized int getNextTeacherAwardId()
    {
        return ++TeacherAwardId;
    }

    public static synchronized int getNextTeacherExamId()
    {
        return ++TeacherExamId;
    }

    public static synchronized int getNextTeacherEvaluationId()
    {
        return ++TeacherEvaluationId;
    }

    public static synchronized int getNextTeacherTrainingId()
    {
        return ++TeacherTrainingId;
    }

    public static synchronized int getNextUserId(int user_type)
    {
        switch (user_type)
        {
            case 1:
                return ++StudentId;
            case 2:
                return ++TeacherId;
            case 3:
                return ++CourseDeveloperId;
            case 4:
                return ++AdministratorId;
            case 5:
                return ++AdministratorId;
        }

        throw new RuntimeException();
    }

    public static synchronized int getNextClassId()
    {
        return ++ClassId;
    }

    public static synchronized int getNextMessageId()
    {
        return ++MessageId;
    }

    public static int getNextBoardId()
    {
        return ++BoardId;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -