zoukankan      html  css  js  c++  java
  • Hibernate反射

      Warning:菜鸟专用。

      最近在看王勇老师的Hibernate视频,他说其实大多数人用Hibernate都是先做好了表,再去由表生成JavaBean、xml和DAO------这其实不符合面向对象(OO)的观点。真正的OO应该是先做了JavaBean和xml再去生成表才对。无奈小子不才,总觉得写JavaBean和xml又费时间又容易出错,还是采用不符合OO的观点比较适合咱这种人。

      步骤:

      1. 打开MyEclipse,新建一个JavaWebProject。

      2. 在src下新建两个包,一个com.carfield.db, 这个将来用于存放HibernateSessionFactory;另外一个com.carfield.db.pojo,用来存放生成的JavaBean,hbm.xml和DAO,如果你觉得还要细分的话,还可以建一个com.carfield.db.dao,将到时候生成的DAO都放到这里面去。

      3. 既然采用Hibernate,那肯定要涉及到数据库的了。我们都知道数据库链接是要引入相应的Jar包的。右键项目名称,选择属性->Java构建路径->库->添加外部JAR。我用的数据库是Oracle,所以我添加classes12.jar到引用库当中。

      4. 加入Hibernate核心库。在MyEclipse里面要加Struts啊,Hibernate啊,Spring啊什么的都比较容易,右键点击项目名,右键菜单里面选择MyEclipse,然后选择要加入的框架名称。比如说我选择要加入Hibernate,那我就选择Add Hibernate Capabilities。点击下一步之后,会有个地方要你填入相关的配置信息才能继续往下面点。DBDriver那个地方可以不填,Connect Url那个地方填的内容跟用JDBC链接数据库一样的内容,比如说用Oracle,那就是“jdbc:oracle:thin:@database_ip:端口号:服务名”,DriverClass这个地方填“oracle.jdbc.driver.OracleDriver”,username和password这个怎么填地球人都知道。 继续点,MyEclipse会问你,要不要生成SessionFactory Class啊?我选择的是生成,点击Browse,选择com.carfield.db,继续下一步就完成了。

      5. 从表反射生成JavaBean , hbm.xml, DAO。

      话说这个地方有点隐蔽,要用到一个平时不怎么用到的东西。将界面切换到MyEclipse Hibernate。 然后在DB Browser那New一个链接,Driver template选择Oracle(Thin driver),一般用这个也就够了。Driver name那随便填个,我这个地方填了个test,Connection URL 那配置得跟第四步的Connect Url一样就行了,不一样的话MyEclipse到后面会提示你的。输入用户名跟密码之后,添加classes12.jar,Driver classname那就会自动的出来一个“oracle.jdbc.driver.OracleDriver”了。可以点击test Driver试试能否链接上数据库。

      确定你能够链接数据库之后,双击test,MyEclipse就会自动的链接到数据库了。进入到自己的数据库之后,选择你要生成JavaBean , hbm.xml, DAO的表,右键点击,选择Hibernate Reverse Engineering。把Hibernate mapping file勾上,Java Data Object勾上,那个Create abstract class 不用勾,然后把Java Data Access Object勾上,点击下一步就完成了。

      视图的操作方法跟表一样。不过视图生成出来的那个ID是包含了所有的视图字段的,需要我们手动调一下,毕竟我们查询时是不需要那么多的 字段的 。

  • 相关阅读:
    ORA-14404
    ORA-00845
    ORA-00054
    oracle-11g-配置dataguard
    ORACLE 11G 配置DG 报ORA-10458、ORA-01152、ORA-01110
    Python:if __name__ == '__main__'
    HDFS-Shell 文件操作
    HDFS 概述
    PL/SQL Developer
    CentOS7 图形化方式安装 Oracle 18c 单实例
  • 原文地址:https://www.cnblogs.com/docmao/p/1647498.html
Copyright © 2011-2022 走看看