`
xderam
  • 浏览: 3011 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

这样设计数据库/POJO合理吗?

阅读更多
练手的天气预报程序.用了spring和hibernate
表weather就不用说了,有最高气温最低气温 天气情况 风速 风向等字段,其中天气情况 风速 风向本来应该是varchar类型的.比如,风向:南风 风速:七级 可我想用数字存储.即
第二个表保存限定信息.比方说:“风速”和"天气情况"保存为
"wind","0","一级"
"wind","1","二级"
"wind","2","三级"
"weatherinfo","3","晴"
"weatherinfo","4","阴"

weather里的:“风速”字段就保存"0""1""2"其中的一个,具体的限制最好通过应用来进行.
其中pojo是这样设计的:

weather:
 
     private Integer id;
     private Date time;
     private Date date;
     private Integer maxTemperature;
     private Integer minTemperature;
     private Integer windchill;
     private Integer weatherinfo;

上面省略一些字段和get set方法


第二个表对应的pojo类

General
 
     private Integer id;
     private Integer typeId;
     private String values;
     private String text;
     private String url;


现在遇到的问题是:
在Servlet里new一个weather对象然后request.setAttribute("weather", 新对象);之后跳转到相应的jsp页面
这样在JSP中[weather.windchill]只能得到一个数值.并不能得到譬如南风北风之类的文字描述.
请教各位是不是要修改pojo设计?还是有什么方法我不知道的?
分享到:
评论
12 楼 xderam 2007-02-07  
抛出异常的爱 写道
xderam 写道
抛出异常的爱 写道
xderam 写道
抛出异常的爱 写道
POJO与VO应该分开。。。。
嗯.那就是还要弄一个VO的类?T_T


正统OO的设计。。。。
stratus +form

传vo

service+vo

传entity

dao+entity
狂汗+瀑布汗+成吉思汗.
现实中这样做的多吗?


恶寒+北极寒
难不成现在的人都不用这种方式了么
(完了,out三年多了。)
嗯..不是那个意思...
毕竟俺菜鸟..第一次学:)
11 楼 抛出异常的爱 2007-02-07  
xderam 写道
抛出异常的爱 写道
xderam 写道
抛出异常的爱 写道
POJO与VO应该分开。。。。
嗯.那就是还要弄一个VO的类?T_T


正统OO的设计。。。。
stratus +form

传vo

service+vo

传entity

dao+entity
狂汗+瀑布汗+成吉思汗.
现实中这样做的多吗?


恶寒+北极寒
难不成现在的人都不用这种方式了么
(完了,out三年多了。)
10 楼 jianfeng008cn 2007-02-07  
xderam 写道
抛出异常的爱 写道
xderam 写道
抛出异常的爱 写道
POJO与VO应该分开。。。。
嗯.那就是还要弄一个VO的类?T_T


正统OO的设计。。。。
stratus +form

传vo

service+vo

传entity

dao+entity
狂汗+瀑布汗+成吉思汗.
现实中这样做的多吗?


一般都这样做啊

dto<==>web (有时候dto被打散了,在参数比较简单的情况下,不过我感觉尽量保持dto会使逻辑更清晰)
entity  <==> service
9 楼 xderam 2007-02-07  
抛出异常的爱 写道
xderam 写道
抛出异常的爱 写道
POJO与VO应该分开。。。。
嗯.那就是还要弄一个VO的类?T_T


正统OO的设计。。。。
stratus +form

传vo

service+vo

传entity

dao+entity
狂汗+瀑布汗+成吉思汗.
现实中这样做的多吗?
8 楼 抛出异常的爱 2007-02-07  
xderam 写道
抛出异常的爱 写道
POJO与VO应该分开。。。。
嗯.那就是还要弄一个VO的类?T_T


正统OO的设计。。。。
stratus +form

传vo

service+vo

传entity

dao+entity
7 楼 xderam 2007-02-07  
_19_ 写道
POJO里加个getWindchillName()方法,页面里[weather.windchillName]
嗯.可行.可POJO里还有好多类似于windchill的属性
不知道还有什么其他的解决方案吗?

6 楼 _19_ 2007-02-07  
POJO里加个getWindchillName()方法,页面里[weather.windchillName]
5 楼 xderam 2007-02-07  
抛出异常的爱 写道
POJO与VO应该分开。。。。
嗯.那就是还要弄一个VO的类?T_T
4 楼 抛出异常的爱 2007-02-07  
POJO与VO应该分开。。。。
3 楼 xderam 2007-02-07  
嗯..那就是说是sql语句的问题..
那么
这样结果的SQL语句应该如何写呢T_T
test表
id a b
1 2 3
test1表
id c
2 text2
3 text3
显示结果为
id a b
1 tesx2 text3
2 楼 akun_007 2007-02-07  
想起来了,POJO中用String型的,表结构不变,查询的时候用等值连接就OK了。和Hibernate和Spring关系不大吧。
1 楼 akun_007 2007-02-07  
通过外键感觉上更严谨一些,但是显示的时候的确是个问题。
直接存为varchar可以方便的显示,维护起来应该也没有什么问题吧。

相关推荐

    java术语(PO/POJO/VO/BO/DAO/DTO)

    PO的主要任务是在业务层和数据层之间传递数据,但它不应包含任何对数据库的操作逻辑,这样的职责应当留给DAO层。 #### POJO (Plain Ordinary Java Object) 简单Java对象 POJO是一种纯粹的Java对象,遵循Java Bean...

    hibernate3.0 和数据库生成pojo类的工程方法

    此外,合理设计实体类的继承结构,利用集合类型处理一对多、多对一关系,也是提高代码可维护性和性能的关键。 总之,Hibernate 3.0的POJO类生成功能大大简化了Java开发者与数据库交互的工作,通过逆向工程将数据库...

    PowerDesign数据库建模和HibernateTools生成POJO映射文件等.pdf

    2. **设计数据模型**:通过PowerDesigner的图形化界面,可以直观地设计数据库的物理结构,包括表、字段、索引、主键、外键等关系。 3. **生成SQL脚本**:设计完成后,PowerDesigner能够自动生成SQL脚本来创建数据库...

    mybatis逆向工程生成mysql数据库表的pojo,model,mapper的插件包

    Mybatis逆向工程是开发过程中一个非常实用的工具,它能帮助开发者自动生成与数据库表对应的Java实体类(POJO)、Model以及Mapper接口和XML配置文件,极大地提高了开发效率。这个插件包专为MySQL数据库设计,使得在...

    利用Mybatis逆向工程来生成pojo和mapper

    Mybatis逆向工程是一种强大的工具,它允许开发者根据数据库中的表结构自动生成对应的Java实体类(POJO)、数据访问对象(DAO)以及Mapper接口和XML配置文件,极大地提高了开发效率,减少了手动编写这些基础代码的...

    mybatis_genertor逆向工程自动生成pojo dao层等类

    总之,MyBatis Generator是Java开发中的得力助手,能够简化数据库操作的代码编写,提升开发效率,使开发者更专注于业务逻辑的设计和实现。在实际项目中,合理利用MBG,可以有效减少错误,增强代码的可维护性。

    struts2+hibernate+数据库新闻发布系统

    1. 数据库设计:合理设计数据库表结构,避免数据冗余,提高查询效率。 2. 数据库优化:如索引建立、SQL语句优化,确保数据库操作快速响应。 3. 安全防护:防止SQL注入、XSS攻击,使用预编译的PreparedStatement,对...

    java和数据库性能优化.doc

    ### Java和数据库性能优化策略详解 ...综上所述,Java和数据库性能优化涉及多方面考量,从数据库设计到Java编码,每一步都需要精心规划,才能确保应用程序在面对高并发和大数据量时仍能保持高效运行。

    数据库&amp;Java课程设计:火车票预订系统.zip

    - **数据库模型**:首先,我们需要设计合理的数据库模型,这通常涉及实体关系图(ER图),如用户表、车次表、座位表和订单表。 - **表结构**:用户表可能包含ID、用户名、密码、联系方式等字段;车次表可能包括...

    JavaEE源码村镇旅游网站源码数据库sql文档

    综上所述,“JavaEE源码5.0javaEE_原生Servlet_MySql村镇旅游网站设计”项目不仅涉及到了JavaEE技术栈的多个方面,还涵盖了数据库设计、Web开发等多个领域,对于学习者而言是一份非常宝贵的学习资料。

    基于Springboot+mybatis实现的大学生二手交易网源码+数据库

    合理的设计能保证数据的一致性和完整性,提高查询效率。 五、项目部署与运维 1. 打包项目:使用Maven或Gradle将项目打包成jar文件。 2. 部署应用:将jar文件上传至服务器,使用命令行启动。 3. 监控与日志:可以...

    ormLite_jar

    - 合理设计数据模型,减少冗余,提高查询效率。 - 在需要的时候才打开数据库连接,操作完毕后及时关闭,节省系统资源。 通过 ORMLite,开发者可以在 Android 应用中快速构建稳定、高效的数据库管理方案,提升开发...

    Javawebapp课程设计报告.docx

    9. **经验教训**:在实际开发中,可能遇到前期设计不足导致的问题,如业务逻辑复杂,涉及多个表的操作,这提示我们在设计阶段需要更加严谨,充分考虑到业务的合理性和数据库效率。 这个课程设计项目不仅锻炼了...

    JSP 学生管理系统(全部代码+数据库).zip

    - **性能优化**:缓存常用数据、分页查询、合理设计数据库索引等。 总之,"JSP学生管理系统"项目涵盖了Web开发的多个方面,通过实际操作可以深入理解Java Web开发的技术栈,同时锻炼数据库设计和管理、前后端交互...

    网站设计与架构hibernate

    接着,创建对应的 Java 类,代表数据库表的实体,这个类通常遵循 POJO 设计原则。然后,使用 `.hbm.xml` 文件描述对象与表之间的映射关系。最后,通过 Hibernate 的 Configuration 和 SessionFactory 对象,实例化并...

    基于springboot的信息技术知识竞赛系统源码数据库.doc

    - **表结构设计**: 需要根据系统功能需求设计合理的表结构,例如用户表、新闻表、建议表等。 - **索引优化**: 通过对常用查询字段建立索引,提高数据检索速度。 - **数据完整性**: 设计合理的外键约束和其他约束条件...

    JSP班级网站的设计与实现(SQL2000)

    同时,为了提高性能,可能需要进行数据库索引优化,合理设计数据库表结构,避免冗余数据。 7. **用户认证与授权**:班级网站可能包含不同角色(如学生、教师),需要实现用户登录、权限控制等功能。这涉及到了会话...

    MyBatis逆向工程生成工具

    MyBatis逆向工程生成工具是一种高效...此外,频繁的数据库结构调整可能会导致代码版本控制的问题,因此在设计数据库时应尽量保持稳定。总的来说,合理利用MyBatis逆向工程生成工具,可以有效地平衡开发效率和代码质量。

    基于ssm+mysql在线音乐网站系统源码数据库.docx

    - **表结构设计**: 合理设计表结构,满足业务需求。 - **索引优化**: 对频繁查询的字段添加索引,提高查询效率。 - **备份恢复**: 定期备份数据库,确保数据安全。 #### 六、安全性考虑 - **输入验证**: 对用户...

Global site tag (gtag.js) - Google Analytics