IT培训学校
IT设计、软件测试、前端、大数据等IT培训课程
北京、上海、广州、深圳等多个城市有校区
机构:IT培训中心 时间:2021-06-03 16:50:15 点击:116
IT设计、软件测试、前端、大数据等IT培训课程
北京、上海、广州、深圳等多个城市有校区
各位亲爱的小伙伴们大家好,最近很多伙伴都问我该怎么做自定义套件封装,java培训机构在这里做了一个教程分享给大家。
java开发人员现在对数据库的操作一般会用到诸如像Hibernate,Mybatis,SpringJdbcTemplate等ORM组件,但是这些组件是怎样从原始的编码方式一步步封装过来的呢 ?
一、最原始的编码方式
如下图所示: 我在05年刚毕业的时候,曾经是这样写Jdbc访问数据库的.
二、封装的过程和思路
总得来说,Java组件封装的原则就是高内聚,低耦合,直白一点的解释就是将重复性的代码提取出去作为工具类,尽量减少类与类之间的固定依赖。
1) DbUtil工具类
通过查看最原始编码方式的代码 ,我们可以看出,获取数据库的连接和关闭数据库连接的代码,在每一次操作中都需要,所以我们可以思考一下,将这部分代码提取出去.
* 新建DbUtil工具类 ,用于数据库的开连接和关连接
通过工具类的封装,我们可以继续在工具类里面将数据库的信息通过配置文件加载,以及启用流行的连接池技术,在这里不在赘述.
2) 增删改方法的封装
在封装了DbUtil工具类的基础上,我们试着做一个单表的增删改查,请看以下代码:
进一步观察增删改方法 ,除了Sql语句和参数传入的不同,其他代码其实也是重复的,我们是否可以考虑将这些公用的代码也提取出去呢?
伟大的Java程序员们都是”懒鬼”,一切都是为了少些一些重复的代码以提高工作效率.
我们可以新建一个模板类JdbcTemplate, 对增删改方法进行封装,外部只需要传入sql语句和sql语句需要用到的参数.
通过上面步骤的封装,我们再来看看让对单表增删改的操作是如何方便简单的,新建一个单表增删改的测试类,继承我们封装的模板类,代码如下:
回过头看看我们的封装过程和代码,是不是对于开发人员来讲 ,越来越简单,代码写的越来越少,这就是Java在实际开发过程中需要用到大量前辈们封装的组件的原因.
3) 查询方法的封装
在增删改方法的封装过程当中,我们发现,增删改的操作,方法的返回值是固定的,但是查询方法的返回值是不固定的,查询不同的表,返回的是不同对象,也有可能是返回的其他类型的值.
通过以上分析,我们封装查询方法的时候,只能返回一个固定格式的对象或者列表,让执行查询的人来解析固定格式的结果得到自己想要的返回值.
两种方式:
a:返回一个List
在JdbcTemplate模板类面新加查询模板方法
这种封装方式在执行查询时候,获取的结果是List
在UserDaoTemplateTest类里面新加查询方法
b:返回一个接口的匿名内部类
这种方式,封装起来稍微复杂一些,但是对于查询方来说,就可以直接在查询方法里面获取自己想要的对象,返回List
非常简单。
步骤:
* 新建一个接口 RowMapper
* 在JdbcTemplate模板类里面新增模板查询方法
* 查询的时候,通过实现匿名的内部类来获取结果,直接映射到Java对象当中 ,如代码所示,在UserDaoTemplateTest中进行查询
最终的代码目录结构如下,希望对大家的学习有所帮助。
如果需要达到像Mybatis和Hibernate等组件的高度,还有很长的一段的路要走,有兴趣的同学可以查看一下SpringJdbcTemplate的源码,其中的思想是跟它不谋而合的。
三、总结
通过以上的封装过程,我们可以了解到Java封装组件的一个基本思路,有助于大家以后在用到相关的ORM组件时,对它们有一个更深得到认识。当然,本篇文章封装的代码只是冰山一角,还有更多精彩有料有趣内容,想要学好java的伙伴们还有更多福利哦,希望各位伙伴们不要错过这次和以后的精彩内容。更多精彩内容请关注Java培训官网
免责声明:本文由小编转载自网络,旨在帮助更多的java学员提供阅读,版权归原作者所有,如有侵权请联系我们进行删除
大数据
智能物联网
Unity游戏开发
网络安全
互联网营销
影视剪辑包装
2006年02月 北大青鸟成都锦江校区成立;2012年,我校荣获北大青鸟年度"聚英奖"及"教学质量"、"就业服务"双项大奖,2012年荣获总部排名前三奖"卓越教育风云人物奖"并成为北大青鸟职业研究促进中心理事,北大青鸟机构中运营资历深、合作名企多、教学环境优越、学员数量非常多的教育机构中心之一,2012年,我校荣获北大青鸟年度"聚英奖"及"教学质量"、"就业服务"双项大奖多年来,北大青鸟锦江已成功造就万余名网络、软件工程师,学员高薪就业于联想、中软、华为、LG、NEC等知名集团公司,成为四川乃至整个西南地区极具规模及影响力的IT教育机构,我校拥有近百名经总部培训认证、具有丰富IT教学经验的金牌讲师,学校教学面积达数万平方米,可容纳上万名学员上课、实训。成都北大青鸟发展历程:2017年01月 北大青鸟锦江天府学院成立;2016年11月 荣获教育创新领军人物奖;2016年8月 校长陈小林荣获2016年度中国行业信息化领军人物奖;2016年8月 学校自主研发教育类应用软件《育道》荣获2016年度中国互联网+教育行业最佳产品奖;2015年06月 荣获质量放心用户满意双优品牌;2014年06月 整体合并北大青鸟华西校区。
对IT设计有兴趣,希望从事IT行业
强化自己能力,加强专业技能
丰富职场技能,毕业不失业
提升专业水平,轻松升职加薪