首先,自我介绍下吧:本人从事java软件开发,工作2年,不属大牛。
背景:最近闲来无事,想起上家公司的开发框架不错,想按照那框架思路自己实现一个(当然只是大致思路差不多,本人写的代码不敢恭维)。同时也是借博做个笔记,希望各位同仁不要“喷”我。
大致介绍下我实现的内容吧:
一。数据库层的查询实现。由于是毕业后进入那家公司,当时本人技术不行,看见公司框架的数据库层查询即支持hibernate的HQL查询也支持JDBC的sql查询很是感兴趣,所以研究了一下。所以自己也是按照该公司框架思路去实现。
// 在DAO层的实现类中的方法统一返回一个HQLInfo类型
//方法中传入一个封装了查询条件的值的类型
public HQLInfo queryRole(RoleDto dto) {
StringBuffer bf=new StringBuffer();
bf.append(" from Role a ");
bf.append(" where 1=1 ");
//sql中查询条件的值通过“:+属性名”的形式,该属性名与封装了查询条件的值的类型的其中某个属性名一致
bf.append(" and a.roleName= :roleName");
bf.append(" and a.roleDesc= :roleDesc");
bf.append(" order by a.roleId desc ");
//通过HQLInfoHelper帮助类来格式化一下sql语句
String sql=HQLInfoHelper.formatSQLStr(bf.toString());
//获取属性名字符串数组
String[] params=HQLInfoHelper.getParaNames(sql);
//开始封装HQLInfo
HQLInfo info=HQLInfoHelper.getHQLInfo(sql, params, dto);
return info;
}
通过上面的方法将返回的HQLInfo对象系统就能做查询。
二。关于事务。该原框架里的事务都是手动开启和提交,回滚的。本人比较懒,就直接用spring得事务管理实现。
三。关于页面中的树形菜单。本人采用jquery ztree2.6实现。
四。关于页面数据查询后的展示。由于不知道原框架是采用的什么GRID实现,本人采用jquery的flexigrid实现。对于flexigrid还有很多不足,本人也是做了很多修改。
以上是本人在实现自己框架中觉得还是比较注重的地方。目前只是大致说下,以后会进行更详细的说明。
后话,本人不才,语言能力不强!望大家见谅~
分享到:
相关推荐
本项目是一个简单的django问卷调查系统,拥有完善的权限机制,以及答卷功能,可扩展性强,用户相关登录、退出、改密等功能均在users应用中,course应用为问卷应用,采用vue+django+sqlite3开发,但后期可配置连接到...
文档概述部分是软件开发详细设计模板的开头部分,旨在为读者提供一个整体的了解软件开发项目的概况。该部分应包括项目名称、项目编号、文档编号、详细设计总页数、正文、附录、生效日期、编制批准等信息。 文档目的...
- **框架与工具**:熟悉 Spring、Hibernate 等主流 Java 开发框架,了解 Git、Maven 等开发工具的使用。 - **Web 技术**:掌握 HTML、CSS 和 JavaScript 前端开发技术,了解 HTTP 协议。 - **操作系统与网络**:具备...
- **框架路径**:规定了项目的总体目录布局,有助于保持代码组织有序。 - **应用目录结构**:细分了各个子目录的功能,如: - **配置(config)**:存放应用的配置文件,用于设定运行环境参数。 - **控制器...
### 1. 自我介绍的基本框架 - **开头**: 表达感谢对方给予的面试机会。 - **主体**: 分为兴趣爱好、在校表现、社会实践三个部分进行详细介绍。 - **兴趣爱好**: 描述个人的性格特点及爱好,比如性格开朗、热爱体育...
文档开头部分明确了项目/系统的名称以及软件的关键等级。这部分信息对于理解项目的背景和技术要求至关重要。其中,“软件关键等级”通常根据DO-178C标准分为A、B、C、D四个等级,不同的等级对应着不同级别的安全和...
- **开头段落**:简短介绍自己,表达对职位的兴趣。 - **主体段落**:阐述为什么适合这个职位,列举具体事例或成就。 - **结尾段落**:表示期待面试的愿望,并感谢阅读。 - **个人签名**:正式结束语,附上联系...
3. **引人注目的开头语**:可以使用一句简短有力的话作为开头,引起HR的兴趣。 #### 五、工作经验怎么写 1. **按时间顺序排列**:最近的工作经历放在前面。 2. **职责与成就并重**:不仅要列出工作职责,还要强调...
- **背景介绍**:文章开头提到了2005年8月的背景情况,包括天气(台风)、时间节点(暑假即将结束),以及即将面临的选择问题,如是否继续深造(读研)或如何定位自己的职业生涯。 - **特别企划预告**:预告了本期...
- **项目背景**:本文档采用Wei Mingzhi开发的一款麻将游戏作为示例,旨在通过实际项目来展示如何使用GNU Autotools进行软件项目管理。麻将游戏的源代码可以从此链接下载:...
- 1.2 项目背景:介绍产品的业务需求、目标和开发背景,帮助理解测试的重要性和上下文。 - 1.3 参考资料:列出用于测试的规范、标准、需求文档等,以便查阅和对照。 - 1.4 术语和缩略语:定义关键术语,确保读者...
1. **分册信息**:文档的开头通常会包含分册名称,表明它是系列文档的一部分,对于大型项目来说,可能会有多个这样的分册,每个分册专注于不同的过程或活动。 2. **版本控制**:日期版本号和修订说明是跟踪文档更新...
"Trabajos ANPI"在西班牙语中意为“ANPI的工作”,这暗示这个项目可能由一个名为ANPI的组织或团队执行。考虑到标签是“Python”,我们可以推断这个项目与Python编程语言密切相关,可能涉及到编程、软件开发或者数据...
1. 架构师角色的重要性:文档开头的卷首语通过乔布斯的个人生活片段来阐释“侘・寂”的美学概念,这可能意味着架构师在追求产品或服务的过程中,需要有一种追求完美但又能够接受不完美之美的心态。架构师在设计和...
在此期间,他可能负责了网站设计、用户体验优化等工作,尽管具体职责未详述,但提及的项目经验和专业技能(如Loremipsum dolor sit amet)可能涉及到网站开发的不同方面。\n\n【专业技能】\n再次强调了John的专业...
3. **贡献者**:在开源项目中,贡献者是指参与项目开发、提供代码、修复bug或改进功能的人员。在这个项目中,“VN7”和“Weikeup”是两位贡献者,他们的工作可能是编写代码、设计界面、测试功能或提供素材。 4. **...
例如:“我自学了最新的前端开发框架React,并成功应用于之前的项目中,提升了用户体验。”这不仅说明你有能力跟上技术的更新换代,还表明你具备主动学习的精神。 团队协作和沟通能力同样是计算机专业求职者不可或...
在易语的框架下,这个扩展模块可能还支持自定义函数,用户可以根据自己的需求定制提取规则。此外,它可能还提供了错误处理机制,以应对文本不规范、边界模糊等情况,确保在各种复杂场景下的稳定性和准确性。 结合...
5. **开发技术与工具**:这部分列举了在项目中采用的编程语言、框架、数据库和其他工具,有助于听众了解项目的实施手段和技术栈。 6. **软件系统模块结构图**:通过模块化图表,展示软件的架构和各个组件之间的关系...