Hibernate学习笔记(一)

我是从b站视频上学习的hibernate框架,其中有很多和当前版本不符合之处,我在笔记中进行了修改
以下是b站视频地址:
 
 

*为什么不用sql语句

*使用完全的面向对象的技术:orm
*什么是hibernate
*其他ORM框架:MyBatis,Toplink,EJB
*eclipse手动导入dtd文档 
        DTD一般应用在应用程序中定义数据交换类型的文档,一般用在xml配置文件中,有些时候在eclipse中并不能加载一些提示,这个时候需要手动导入,导入方法如下:
  1、首先根据声明的网址下载.dtd的文件,放到项目某一个目录中,建议导入项目中的,这样移植的时候会一同移植过去。
  2、单击菜单中的Window - Preferences
  3、打开的对话框中左边选择XML-XML Catalog,右边点击Add...按钮
  4、然后选择dtd位置,推荐加入Workspace...中的,原因刚才说过了,选好之后确定;然后Key输入框将Key-type选择为URI,输入下面的http地址
      
      将内容复制到文本框中:
    
  最后单击OK,单击Finish完成导入,,
  导入后回到xml配置文件编辑界面,会发现提示出现了,如下图:
  

*hibernate框架核心文档hibernate.cfg.xml设置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
<hibernate-configuration>
    <session-factory>
       <!-- 1.配置数据库信息 -->
       <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
       <property name="hibernate.connection.url">jdbc:mysql:///hibernate_lean?useUnicode=true&amp;characterEncoding=utf-8</property>
       <property name="hibernate.connection.username">root</property>
       <property name="hibernate.connection.password">bolin123.</property>
       <!-- 2.配置hibernate信息 -->
       <!-- 配置session与本地线程绑定 -->
       <property name="hibernate.current_session_context_class">thread</property>
       <!-- 输出低层的sql语句 -->
       <property name="hibernate.show_sql">true</property>
       <!-- 低层的sql语句格式化 -->
       <property name="hibernate.format_sql">true</property>
       <!--
       hibernate帮你创建表,要在配置之后
       update:有表,更新;无表,创建。
       -->
       <property name="hibernate.hbm2ddl.auto">update</property>
       <!--
       配置数据库方言
       让hibernate识别不同数据库中不同的关键字
        -->
       <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>注意此处配置要符合mysql版本
       
       <!-- 3.将映射文件放到核心配置文件中 -->
       <mapping resource="cn/Hibernate/lean/User.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
*映射实体类xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
< !--dtd约束 -- >
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
   
    <hibernate-mapping>
    < !-- 是实体类和表之间实现映射关系 -- >
     <class name="cn.Hibernate.lean.User" table="t_User">
        <! --
            实体类id与表id对应
            hibernate要求实体类有一个属性为唯一值
            hibernate要求表中有一个字段为唯一值
         -- >
                        <! -- name属性值是指类中的属性名称,column是指数据库中表的字段名称-- >
        <id name="uid" column="uid">
               < !--
               设置表中id生成策略
               native:主键和自动增长
               uuid:自动生成uuid值
               -- >
               < !-- <generator class="uuid"></generator> -- >
               <generator class="native"></generator>
        </id>
        < !-- 配置其他属性 -- >
        <property name="username" column="username"></property>
        <property name="password" column="password"></property>
        <property name="address" column="address"></property>
     </class>
    </hibernate-mapping>
 
 
posted @ 2019-03-19 16:14  snolin  阅读(238)  评论(0编辑  收藏  举报