【资料图】
DTO概念
DTO是Java编程中的一个常见概念,代表数据传输对象。DTO的主要目的是在不同层次之间传递数据,以避免将领域模型暴露给用户界面或持久性层。DTO通常只包含数据,而不包含任何业务逻辑。DTO也可称为VO(Value Object)或POJO(Plain Old Java Object)。
DTO用于减少应用程序中的网络通信量和内存开销。数据传输对象将数据库表映射到Java对象,并且它们通常不需要任何业务逻辑或操作。因此,DTO只是一个简单的Java对象,通常由getter和setter方法组成。
下面是一个示例DTO:
javaCopy codepublic class PersonDTO { private String name; private int age; public PersonDTO(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}
上述示例中的PersonDTO类只有两个字段:name和age。这个类没有任何业务逻辑或操作,只是一个简单的Java对象,用于在应用程序不同层次之间传输数据。
DAO概念
DAO是Java编程中的另一个常见概念,代表数据访问对象。DAO用于与数据库交互,包括从数据库中检索数据、将数据写入数据库以及更新数据等。DAO通常被用来隔离业务逻辑和数据库操作,从而使代码更容易维护和测试。
DAO类通常包含各种查询方法,例如根据ID检索单个对象、根据属性检索对象列表、插入新对象、更新对象以及删除对象等。DAO通常使用DTO作为传输对象,从而隔离领域模型和持久性层。
下面是一个示例DAO:
javaCopy codepublic class PersonDAO { private Connection conn; public PersonDAO(Connection conn) { this.conn = conn; } public PersonDTO getById(int id) throws SQLException { PreparedStatement stmt = conn.prepareStatement("SELECT * FROM persons WHERE id=?"); stmt.setInt(1, id); ResultSet rs = stmt.executeQuery(); if (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); return new PersonDTO(name, age); } else { return null; } } public List getAll() throws SQLException { List persons = new ArrayList<>(); PreparedStatement stmt = conn.prepareStatement("SELECT * FROM persons"); ResultSet rs = stmt.executeQuery(); while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); persons.add(new PersonDTO(name, age)); } return persons; } public void insert(PersonDTO person) throws SQLException { PreparedStatement stmt = conn.prepareStatement("INSERT INTO persons(name, age) VALUES (?, ?)"); stmt.setString(1, person.getName()); stmt.setInt(2, person.getAge()); stmt.executeUpdate(); } public void update(PersonDTO person) throws SQLException { PreparedStatement stmt = conn.prepareStatement("UPDATE persons SET name=?, age=? WHERE id=?"); stmt.setString(1, person.getName()); stmt.setInt(2, person.getAge()); stmt.executeUpdate(); } public void delete(PersonDTO person) throws SQLException { PreparedStatement stmt = conn.prepareStatement("DELETE FROM persons WHERE id=?"); stmt.setInt(1, person.getId()); stmt.executeUpdate(); }}
上述示例中的PersonDAO类有一个成员变量conn,它是一个Java SQL Connection对象。PersonDAO类还有许多查询方法,例如getById、getAll、insert、update和delete等。这些方法使用预编译的SQL语句从数据库中检索数据、将数据写入数据库以及更新数据等。这些方法还使用PersonDTO作为传输对象,从而隔离领域模型和持久性层。
标签:
-
java中的DTO DAO 每日视点
DTO是Java编程中的一个常见概念,代表数据传输对象。DTO的主要目的是在不同层次之间传递数据,以避免将领域模型暴露给用户界面或持久性层。DTO
-
【快播报】全球连线|我在中国学中医
他们,有的因为喜爱中国文化有的因为热爱医学有的因为自己或者身边亲朋偶然的一次中医体验最终有了共同的行动——来中国学中医春日,地处中...
-
汉缆股份:立式车间安装的2条生产线已投产使用
汉缆股份(002498)03月31日在投资者互动平台表示:您好!立式车间安装的2条生产线已投产使用,配套车间的设备还在调试中!谢谢!
-
时代中国控股2022年物业销售收入同比减少39%至235.37亿元 | 年报拆解
乐居财经王敏3月31日,时代中国控股(01233)发布截至二零二二年十二月三十一日止年度的年度业绩公告。二零二二年,本集团业务录得收入为人民币2
-
聚酯烯烃-3月31日 天天实时
【聚酯-市场聚焦】 方向:高位偏强,谨慎追高。 理由:成本端PX偏强;聚酯开工率高 盘面:截止30日23时,PTA2305合约跌16点(或0 16%)
-
世界热文:保利发展:去年归母净利润约183亿元,下半年投超千亿拿地
保利发展:去年归母净利润约183亿元,下半年投超千亿拿地,总资产,保利发展,保利地产,保利集团,公司股东
-
当前简讯:铁路春游运输过半 江苏多站客流量大幅增长
本报讯记者3月29日从江苏高速铁路有限公司获悉,自今年3月10日铁路春游运输启动以来,江苏高速铁路有限公司管内连镇、徐盐等多条高铁旅游线路
-
全球微头条丨普京签署春季征兵令
当地时间3月30日,俄罗斯总统普京签署春季征兵令。根据该法令,从4月1日至7月15日,俄罗斯政府将征召14 7万人加入俄
-
全球新消息丨2023年3月30日湖南省醋酸乙酯价格最新行情预测
据中国报告大厅对2023年3月30日湖南省醋酸乙酯价格最新走势监测显示:2023年3月30日湖南省醋酸乙酯(国标优等品)
-
天齐锂业2022年度拟10派30元
天齐锂业3月31日公布2022年年度分红预案:向全体股东每10股派发现金红利30元(含税),合计派发现金红利总额为49 22亿元。
-
李强会见博鳌亚洲论坛理事会成员
国务院总理李强29日在博鳌会见博鳌亚洲论坛理事长潘基文等理事会成员。李强表示,今年论坛年会主题“不确定的世界:团结合作迎
-
中国中铁2022房地产业务营收534.59亿 新签合同额751.9亿 焦点简讯
报告期内,中国中铁持有待开发土地面积2024万平方米,待开发规划建筑面积3051万平方米;完成房地产开发投资627 90亿元;全口径实现销售金额751
-
动态:请关注!清明期间河北预计缓行拥堵时间、路段公布
河北新闻网3月30日讯(河北日报记者桑珊)清明节假期即将到来,今天河北省公安厅交通管理局发布清明假期交通安全预警提示,对
-
中国能源研究会电碳耦合技术专业委员会在广州成立|环球最资讯
中国能源研究会电碳耦合技术专业委员会在广州成立,3月24日,中国能源研究会电碳耦合技术专业委员会(以下简称“专委会”)在广州成立,这也是国内
-
长沙公租房有什么配置? 全球快讯
长沙公租房一居室每套建筑面积为30平方米左右,二居室每套建筑面积为50平方米左右,单套建筑面积不得超过60平方米。新建成套公共租赁住房的基
-
天天速读:上海环境:2022年度净利降27.10%至5.195亿元
上海环境公布2022年年度报告,2022年公司实现营业收入62 86亿元,同比下降12 67%;归属于上市公司股东的净利润5 195亿元,同比下降27 10%;归
-
天天热头条丨上地华联商场门外新增俩出口,居民进出再也不用绕大圈
“现在进出商场不用绕大圈了,还增设了无障碍通道,真方便。”住在海淀上地的居民发现,家门口的华联商场新增了2个出入通道,进出商场比以...
-
怎样做酱牛肉_酱牛肉图片-全球热推荐
1、一、制作家常酱牛肉方法: 原料:牛肉(最好是牛腱肉)一斤,干辣椒、八角、桂皮少许,姜、葱 、老抽、料酒、白糖适
-
2023年山西46所高职院校单独招生37364人
央广网太原3月30日消息(记者郎麒)据山西省招生考试管理中心消息,2023年山西高职院校继续实行单独招生考试,今年共有46所高职院校进行单独招
-
国泰君安:把握市场预期低点 布局航空超级周期|环球热资讯
【国泰君安:把握市场预期低点布局航空超级周期】国泰君安证券研报认为,航空市场春节后加速复苏,淡季表现稳健,后续旺季趋势向好。而资本市
-
环球热点评!韩国国安首长闪电辞职:“我不愿意看到有关我个人的舆论争议给外交和施政带去负担。”
来源:环球网【环球网报道】据韩联社3月29日报道,韩国国家安保室室长金圣翰29日闪电辞职。他当天下午向媒体发布消息称,他即日将辞去国家安保
-
湖南1158个重大项目集中开工 总投资达5221亿元
2023年湖南省重大项目集中开工仪式在14个市州同步举行,1158个重大项目集中开工,总投资达5221亿元,年度计划投资1958亿元。
-
垃圾分类:少了“人工”,多了“智能”-世界观察
博览会现场。本报记者宋宁摄3月29日,华东地区市容环境卫生工作第29届年会暨第24届废弃物处理研讨会、2023城市管理技术与装备博览会在南京开幕
-
巴西以95亿美元的输电投资加快太阳能和风能项目部署
巴西将投资95亿美元建设新的输电线路和基础设施,以促进太阳能和风能的部署。矿业和能源部长亚历山大·西尔维拉在巴西圣路易斯市的太阳能和...
-
苹果WWDC 2023正式官宣,将有5款新品亮相,你期待哪个?
就在3月30日凌晨,苹果科技公司正式官宣了WWDC2023,这是很多果粉期待的大会,在WWDC2023大会上,苹果介绍Apple平台、技术和工具的最新动态,
-
世界速讯:欧亦欧产品怎么样(亦鸥软件是什么)
1、亦鸥软件是一款英语学习软件,其自带大量英文音频文本文件,内部有很多英文原版资料。2、它的主要学习内容有:3、1、大量
-
热头条丨深圳市奥拓电子股份有限公司—— 深耕智能视讯领域
在深圳市奥拓电子股份有限公司(以下简称“奥拓电子”)展厅,当记者步入由3面LED屏幕组成的沉浸式拍摄区域时,对面监控屏幕中实时显示出人在...
-
别有用心的单身女韩国电视剧_别有用心的单身女韩剧网-当前资讯
1、Aloneagain---BigBabyDriver应该是这歌。本文分享完毕,希望对大家有所帮助。
-
全球速递!香氛品牌Vyrao获投资;非凡中国递交招股书;钟薛高推首款AI雪糕
和其他同类产品相比,Keep旗下自有品牌运动产品、会员订阅及线上付费内容的收入增加助力Keep营收不断上升,这为其冲刺上市奠定了良好的基础。
-
张家界:慈利县开展中医理疗爱心义诊
中医理疗和爱心义诊服务活动。为传承民族国粹,弘扬中医药文化,3月28日,张家界市慈利县龙潭河镇中心卫生院特邀县中医集团医