JAVA-试题信息管理系统,初识JDBC

【写在前面】:刚刚接触JDBC,常见的题目,用于巩固知识点,个人愚见,方便自己回顾,欢迎探讨。
【题目】:
题目截图

题目截图
题目
题目截图

考察点:
1.JDBC相关方法的使用。2.数据库相关SQL使用。3.接口,继承,面向对象等
**思路概要:**

1.根据题目可知,需要创建四个类(QuestionInfo、BaseDao、QuestionInfoDaoImpl、测试类)一个接口(QuestionInfoDao)
2.其中接口可以提供JDBC的增删改查方法,让其他类实现并重写其方法。
3.数据库的关闭和连接方法写在BaseDao中。
4.整体构思:实现类QuestionInfoDaoImpl继承BaseDao中的连接/关闭数据库方法,并实现接口QuestionInfoDao提供的增删改查方法(如此一来实现类便具备了JBDC操作的相关方法)。
实体类QuestionInfo操作题目系统,涉及JDBC的相关方法调用实现类QuestionInfoDaoImpl中的方法即可。

一、创建数据库,并初始化几条数据

DROP TABLE IF EXISTS `question_info`;
CREATE TABLE `question_info` (
  `questionId` int(10) NOT NULL AUTO_INCREMENT,
  `question` varchar(300) NOT NULL,
  `optionA` varchar(300) NOT NULL,
  `optionB` varchar(300) NOT NULL,
  `optionC` varchar(300) NOT NULL,
  `optionD` varchar(300) NOT NULL,
  `subject` int(11) NOT NULL,
  `answer` varchar(10) NOT NULL,
  PRIMARY KEY (`questionId`)
)

insert into question_info (questionId,question,optionA,optionB,optionC,optionD,answer,subject) 
values(1,'在java中合法的变量名是:','_sum','var%','9var','my name','A',1);

insert into question_info (questionId,question,optionA,optionB,optionC,optionD,answer,subject) 
values(2,'在C#中非法的变量名是:','%AVG','count_1','num%','3name','A',2);

二、创建相关类
1.数据库连接和关闭类(BaseDao)

package Test2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

/**
 * 数据库连接和关闭类(BaseDao)
 * @author 
 * @version 
 * @since
 */
public class BaseDao {
   
	
	public static Connection conn;
	public static PreparedStatement state;
	public static ResultSet rs;
	/**
	 * 数据库连接的方法
	 */
	public static Connection connectionDataBase(){
   
		Connection conn = null;
		try {
   
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/myschool","root","123");
		} catch (Exception e) {
   
			e.printStackTrace();
		}
		return conn;
	}
	
	/**
	 * 关闭对象的方法
	 */
	public static void closeDataBase(){
   
		try {
   
			if (rs!=null) {
   
				rs.close();
			}
			if (state!=null) {
   
				state.close();
			}
			if (conn!=null) {
   
				conn.close();
			}
		} catch (Exception e) {
   
			e.printStackTrace();
		}
	}
}

2.接口QuestionInfoDao

package Test2;

import java.sql.ResultSet;

/**
 * 接口中定义JDBC的增、删、改、查方法让实现类实现
 * @author 
 * @version 
 * @since
 */
public interface QuestionInfoDao {
   
	//数据库的增删改方法
	public abstract int operateDB(String sql,Object...obs);//因为sql中传入的参数不确定,0个或者多个,所以用动态参数obs
	//数据库的查询方法
	public abstract ResultSet queryDB(String sql,Object...obs);
}

3.实现类QuestionInfoDaoImpl:继承BaseDao类,实现QuestionInfoDao接口,即:拥有JDBC操作的全部方法。

package Test2;

import java.sql.ResultSet;

/**
 * 实现类QuestionInfoDaoImpl:继承BaseDao类,实现QuestionInfoDao接口,即:拥有JDBC操作的全部方法。
 * 
 * @author 
 * @version 
 * @since
 */
public class</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值