前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第31次文章:手写SORM框架(一)

第31次文章:手写SORM框架(一)

作者头像
鹏-程-万-里
发布2019-09-27 15:48:09
3980
发布2019-09-27 15:48:09
举报
文章被收录于专栏:Java小白成长之路

在上周的末尾,我们介绍了ORM框架,将数据库和Java程序中的数据类型进行关联。这周我们进入SORM框架深入探究,最后手写一个SORM框架。作者也是第一次学习,文章中有一些不足之处,请各位同学多多指教呀!


一、SORM框架基本思想

(1)我们希望设计一个可以实现对象和SQL自动映射的框架,但是整体用法和设计比Hiberbate简单。砍掉不必要的功能。

(2)穿插使用设计模式。

二、基本实现的功能

-增加:将对象对应成sql语句,执行sql,插入数据库中

-删除:根据对象主键的值,生成sql并执行,从库中删除

-修改:根据对象需要修改的属性的值,生成sql并执行

三、查询

根据结果分类:

-多行多列:List< Javabean >

-一行多列:Javabean

-一行一列:普通对象object;数字number

四、核心架构

-Query接口:负责查询(对外提供服务的核心类)

-QueryFactory类:负责根据配置信息创建query对象

-TypeConvertor接口:负责类型转换

-TableContext类:负责获取管理数据库所有表结构和类结构的关系,并可以根据表结构生成类结构

-DBManager类:根据配置信息,维持连接对象的管理(增加连接池功能)

-工具类:

(1)JDBCUtils封装常用JDBC操作;

(2)StringUtils封装常用字符串操作;

(3)JavaFileUtils封装java文件操作;

(4)ReflectUtils封装常用反射操作;

五、核心bean,封装相关数据

-ColumnInfo:封装表中一个字段的信息(字段类型、字段名、键类型)

-Configuration:封装配置文件信息

-TableInfo:封装一张表的信息

六、针对SORM框架的说明

-核心思想:使用简单、性能高、极易上手!

-配置文件:目前使用资源文件、后期项目复杂后可以增加XML文件配置和注解

-类名由表名生成,只有首字母大写有区别,其他无区别

-Java对象的属性由表中字段生成,完全对应

-目前,只支持表中只有一个主键,联合主键不支持


手写整个SORM框架对于目前的作者而言是一个庞大的工程

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java小白成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、SORM框架基本思想
  • 二、基本实现的功能
  • 三、查询
  • 四、核心架构
  • 五、核心bean,封装相关数据
  • 六、针对SORM框架的说明
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档