这代码有什么缺陷吗?
他用的是List<Propreties>! 但是只可以传 String类型的!! 不知道我这样写有什么问题吗??
public List<Map> executeSql(String sql,Object[] o){
List<Map> list = new ArrayList<Map>();
conn = getConn();
try {
ps = conn.prepareStatement(sql);
if(null != o){
for(int i = 0;i < o.length;i++){
ps.setObject(i+1, o[i]);
}
}
rs = ps.executeQuery();
md = rs.getMetaData();
while(rs.next()){
Map map = new HashMap();
for(int i = 1;i <= md.getColumnCount(); i++){
String colName = md.getColumnName(i);//得到数据列名称
Object colValue = rs.getObject(i);//得到值
map.put(colName, colValue);//添加到map里面
}
list.add(map);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
closeAll(conn,ps,rs);
}
return list;
===================
测试通过:
BaseDao baseDao = new BaseDao();
String sql = "select * from users where username=? and age=? and nowTime<?";
//String sql = "select * from users"; List<Map> list = baseDao.executeSql(sql, null);
Object[] o = {"chenrujia",18,new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())};
List<Map> list = baseDao.executeSql(sql, o);
for (Map map : list) {
System.out.println("姓名:"+map.get("username"));
System.out.println("密码:"+map.get("password"));
System.out.println("年纪:"+map.get("age"));
System.out.println("时间:"+map.get("nowTime")+"\n");
}
-------------------sql
create database MyDemo
use MyDemo
go
create table users
(
userid int identity(1,1) primary key,
username varchar(50) not null,
password varchar(50),
age int ,
nowTime datetime
)
insert into users values('yiwai','yiwai',17,getDate())
insert into users values('chenrujia','chenrujia',18,getDate())
insert into users values('yuha521','yuha521',19,getDate())
select * from users
go
========================
如果按照默然老师那样写通用查询的话! 我发现连entity实体.dao.和dap.impl都不需要了,就写个BaseDao写两个通用增删改查就可以了!! 要显示数据直接在网页里输出就可以了! 根本就不需要那么麻烦了! 但是又不符合MVC模式了!!! 到底应该做!!!! 如果要用entity又显得多次一举!! o(∩_∩)o...! 菜鸟问题哦!!! 发现这个东西太强大了!省去不知道多少代码! 呵呵
相关推荐
Java代码缺陷的自动化检测与跟踪:构建代码质量的终极防线
《Java代码缺陷管理指南》摘要: 文章系统分析了Java开发中常见的代码缺陷类型(如空指针异常、线程安全问题等)及其危害,指出缺陷带来的成本随阶段递增。重点介绍了静态代码分析工具(SonarQube、SpotBugs、PMD)的使用方法和典型检测场景,通过代码示例展示如何预防NPE等问题。同时强调动态监控的重要性,包括异常处理和性能指标采集。最后提出基于SSM框架构建缺陷管理系统的解决方案,实现从缺陷发现到修复的闭环管理。全文通过技术指标、代码片段和实战案例,为Java开发者提供了全面的代码质量保障方案。
一种开源代码缺陷识别系统的实现
缺陷描述文件包含每日更新的 CVE 漏洞信息,对于较早期的缺陷信息描述,主要按照来源年份有序排列发布。在分析 CVE 缺陷记录信息时,只分析存在修复记录的 CVE,通过提取修复 CVE 记录信息中与代码相关的开源仓库信息,利用 git 工具在本地克隆代码项目,并根据 CVE 记录中提交的哈希值,通过 git 来收集有关易受攻击的缺陷代码信息,包括代码的语言、版本、发布时间、CVE 记录、CWE 记录、存储库地址信息、提交记录、受影响的文件和受影响的方法等信息,并将收集到的信息存储在数据库中。
论文复现基于欠谐振工作区间的全桥LLC变换器混合控制仿真建模与动态性能分析(Simulink仿真实现)
内容概要:本文系统解读了一套完整的多机器人路径规划(MAPF)MATLAB代码库,重点剖析了基于优先级规划与Petri网融合的多智能体无冲突路径生成框架。文章详细阐述了该框架的四层架构设计:几何层负责地图解析与栅格化处理,拓扑层构建四邻域图与Petri网模型,调度层实现基于优先级启发式的路径规划与冲突消解,呈现层完成动画与视频可视化输出。核心创新包括动态边权膨胀机制、节点预留历史查询、几何惩罚驱动的局部同步以及Petri网双阶段优化策略,显著提升了算法在大规模场景下的求解效率与鲁棒性。; 适合人群:具备一定编程基础和算法基础,从事机器人路径规划、智能交通、仓储物流调度等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习和复现基于优先级规划的多智能体无冲突路径生成方法;② 掌握动态边权膨胀、节点预留历史等关键技术以提升路径规划效率;③ 利用Petri网进行整数规划求解并实现双阶段优化;④ 构建可扩展的多机器人系统仿真平台并实现轨迹可视化。; 阅读建议:建议读者按照文中所述的数据流顺序逐步学习各模块设计,重点关注四层架构之间的接口关系与信息传递机制。在实践过程中应结合提供的完整代码与测试案例,调试并验证不同同步策略的效果差异,并尝试对框架进行功能扩展,如引入回溯机制以提高算法完备性。
基于容积卡尔曼滤波CKF的车辆状态估计Carsim和Matlab联合仿真(说明文档+仿真源文件+运行说明)
内容概要:本资源提供了基于容积卡尔曼滤波(CKF)的车辆状态估计算法在Carsim与Matlab/Simulink环境下的联合仿真解决方案,包含完整的说明文档、仿真源文件及运行指南。通过Carsim构建高精度车辆动力学模型,Simulink实现CKF算法设计与状态估计,有效融合两者优势,实现了对车辆关键状态参数(如质心侧偏角、横摆角速度、车速等)的高精度实时估计。该方法克服了传统传感器直接测量成本高、安装难的问题,提升了车辆动态性能分析与控制系统的智能化水平。; 适合人群:适用于从事车辆工程、智能驾驶、控制理论与应用等相关领域的科研人员、高校研究生及企业研发工程师,尤其适合具备一定Carsim和Matlab联合仿真基础的技术人员。; 使用场景及目标:①开展车辆状态估计算法的研究与验证,提升无人车、ADAS系统中的感知能力;②完成学术论文复现、毕业课题设计或工程项目开发中的核心算法模块搭建;③深入理解非线性滤波算法(如CKF)在实际车辆系统中的建模与应用流程。; 阅读建议:建议用户结合说明文档逐步运行仿真程序,重点关注Carsim与Simulink的接口设置、信号交互机制以及CKF算法模块的设计逻辑,同时可通过修改工况条件和噪声参数来测试算法鲁棒性,强化理论与实践的结合。
高校技术转移办公室在推动成果转化过程中面临哪些信息整合难题?.docx
高校技术转移办公室在推动成果转化过程中面临哪些信息整合难题?


