Day39
domin实体类:管理员类. 学生类. 年级类.
Service业务类:
功能:不涉及到任何输入输出的内容
方法:
-
登录验证方法
-
返回学生人数
-
返回学生列表
-
按学号查询学生
-
按姓名查询学生
-
修改学生
-
删除学生
-
新增年级
View界面类:
功能:和界面相关的模块
方法:
1. 登录界面
2. 主菜单显示
3. 查看学生人数
4. 查看所有学生
5. 按学号查询学生
6. 按姓名查询学生
7. 修改学生界面
8. 删除学生界面
9. 新增学生界面
Dao: data access object 数据访问对象层
增删改查操作都封装到这里。
通用的增删改方法,针对于任何表。
通用的查询单条记录,针对于任何表。
通用的查询多条记录,针对于任何表。
通用的查询单个值,针对于任何表。
package com.sorrymaker.dao;
import com.sorrymaker.Test11.JDBCUtilsByDruid;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import java.sql.Connection;
import java.util.List;
/**
* @Author nextGame
* @Date 2021/4/26 16:31
* @Version 1.0
*
* 这里面有四个方法,
*/
public class BasicDao<T> {
QueryRunner qr = new QueryRunner();
/**
通用的增删改方法
*/
public int update(String sql,Object...param) {
Connection connection = null;
try {
connection = JDBCUtilsByDruid.getConnection();
QueryRunner qr = new QueryRunner();
int update = qr.update(connection, sql, param);
return update;
}catch (Exception e){
throw new RuntimeException(e);
}finally {
JDBCUtilsByDruid.close(null,null,connection);
}
}
/**
* 返回单个对象,针对于任何表.
* @return
*/
public T querySingle(String sql,Class<T> clazz,Object...params){
Connection connection = null;
try{
connection = JDBCUtilsByDruid.getConnection();
QueryRunner qr = new QueryRunner();
return qr.query(connection, sql, new BeanHandler<T>(clazz), params);
}catch (Exception e){
throw new RuntimeException(e);
}finally {
JDBCUtilsByDruid.close(null,null,connection);
}
}
/**
* 返回多个对象,针对于任何表.
* @return
*/
public List<T> queryMulti(String sql,Class<T