`
lh44601
  • 浏览: 7384 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

自己写的项目开发框架--(1)开头语

 
阅读更多

首先,自我介绍下吧:本人从事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还有很多不足,本人也是做了很多修改。

以上是本人在实现自己框架中觉得还是比较注重的地方。目前只是大致说下,以后会进行更详细的说明。

后话,本人不才,语言能力不强!望大家见谅~

分享到:
评论

相关推荐

    django3.2框架+vue开发的完整问卷调查系统 django-question-master.zip

    本项目是一个简单的django问卷调查系统,拥有完善的权限机制,以及答卷功能,可扩展性强,用户相关登录、退出、改密等功能均在users应用中,course应用为问卷应用,采用vue+django+sqlite3开发,但后期可配置连接到...

    软件开发详细设计模板

    文档概述部分是软件开发详细设计模板的开头部分,旨在为读者提供一个整体的了解软件开发项目的概况。该部分应包括项目名称、项目编号、文档编号、详细设计总页数、正文、附录、生效日期、编制批准等信息。 文档目的...

    45精美简历模板.docx

    - **框架与工具**:熟悉 Spring、Hibernate 等主流 Java 开发框架,了解 Git、Maven 等开发工具的使用。 - **Web 技术**:掌握 HTML、CSS 和 JavaScript 前端开发技术,了解 HTTP 协议。 - **操作系统与网络**:具备...

    腾讯海豹平台开发规范.doc

    - **框架路径**:规定了项目的总体目录布局,有助于保持代码组织有序。 - **应用目录结构**:细分了各个子目录的功能,如: - **配置(config)**:存放应用的配置文件,用于设定运行环境参数。 - **控制器...

    计算机专业求职自我介绍.docx

    ### 1. 自我介绍的基本框架 - **开头**: 表达感谢对方给予的面试机会。 - **主体**: 分为兴趣爱好、在校表现、社会实践三个部分进行详细介绍。 - **兴趣爱好**: 描述个人的性格特点及爱好,比如性格开朗、热爱体育...

    DO-178C 生命周期数据资料 - SAS 内容总结和模板文件

    文档开头部分明确了项目/系统的名称以及软件的关键等级。这部分信息对于理解项目的背景和技术要求至关重要。其中,“软件关键等级”通常根据DO-178C标准分为A、B、C、D四个等级,不同的等级对应着不同级别的安全和...

    IT行业毕业简历模板、求职信范文

    - **开头段落**:简短介绍自己,表达对职位的兴趣。 - **主体段落**:阐述为什么适合这个职位,列举具体事例或成就。 - **结尾段落**:表示期待面试的愿望,并感谢阅读。 - **个人签名**:正式结束语,附上联系...

    学会做出成功让HR心动程序员简历

    3. **引人注目的开头语**:可以使用一句简短有力的话作为开头,引起HR的兴趣。 #### 五、工作经验怎么写 1. **按时间顺序排列**:最近的工作经历放在前面。 2. **职责与成就并重**:不仅要列出工作职责,还要强调...

    《GIS开发者》第七期

    - **背景介绍**:文章开头提到了2005年8月的背景情况,包括天气(台风)、时间节点(暑假即将结束),以及即将面临的选择问题,如是否继续深造(读研)或如何定位自己的职业生涯。 - **特别企划预告**:预告了本期...

    使用 GNU autotools手册

    - **项目背景**:本文档采用Wei Mingzhi开发的一款麻将游戏作为示例,旨在通过实际项目来展示如何使用GNU Autotools进行软件项目管理。麻将游戏的源代码可以从此链接下载:...

    产品测试报告模板.doc

    - 1.2 项目背景:介绍产品的业务需求、目标和开发背景,帮助理解测试的重要性和上下文。 - 1.3 参考资料:列出用于测试的规范、标准、需求文档等,以便查阅和对照。 - 1.4 术语和缩略语:定义关键术语,确保读者...

    过程文档-模板.docx

    1. **分册信息**:文档的开头通常会包含分册名称,表明它是系列文档的一部分,对于大型项目来说,可能会有多个这样的分册,每个分册专注于不同的过程或活动。 2. **版本控制**:日期版本号和修订说明是跟踪文档更新...

    ANPI-SI-2021

    "Trabajos ANPI"在西班牙语中意为“ANPI的工作”,这暗示这个项目可能由一个名为ANPI的组织或团队执行。考虑到标签是“Python”,我们可以推断这个项目与Python编程语言密切相关,可能涉及到编程、软件开发或者数据...

    架构师10月刊

    1. 架构师角色的重要性:文档开头的卷首语通过乔布斯的个人生活片段来阐释“侘・寂”的美学概念,这可能意味着架构师在追求产品或服务的过程中,需要有一种追求完美但又能够接受不完美之美的心态。架构师在设计和...

    优秀个人简历模板系列-英文-12.docx

    在此期间,他可能负责了网站设计、用户体验优化等工作,尽管具体职责未详述,但提及的项目经验和专业技能(如Loremipsum dolor sit amet)可能涉及到网站开发的不同方面。\n\n【专业技能】\n再次强调了John的专业...

    HowFun-blessing-generator:https

    3. **贡献者**:在开源项目中,贡献者是指参与项目开发、提供代码、修复bug或改进功能的人员。在这个项目中,“VN7”和“Weikeup”是两位贡献者,他们的工作可能是编写代码、设计界面、测试功能或提供素材。 4. **...

    2022年精选计算机求职信汇编9篇.docx

    例如:“我自学了最新的前端开发框架React,并成功应用于之前的项目中,提升了用户体验。”这不仅说明你有能力跟上技术的更新换代,还表明你具备主动学习的精神。 团队协作和沟通能力同样是计算机专业求职者不可或...

    易语,奇迹取文本中间扩展模块

    在易语的框架下,这个扩展模块可能还支持自定义函数,用户可以根据自己的需求定制提取规则。此外,它可能还提供了错误处理机制,以应对文本不规范、边界模糊等情况,确保在各种复杂场景下的稳定性和准确性。 结合...

    2010 毕业设计 答辩ppt 模板设计

    5. **开发技术与工具**:这部分列举了在项目中采用的编程语言、框架、数据库和其他工具,有助于听众了解项目的实施手段和技术栈。 6. **软件系统模块结构图**:通过模块化图表,展示软件的架构和各个组件之间的关系...

Global site tag (gtag.js) - Google Analytics