Hibernate练习1

快速回顾:

1.新建数据库Users,表UserInfo 字段Id name pwd
2.配置数据源,步骤:点MyEclipse右上角网格状(Open Perspective)-->MyEclipse DataBase Explorer
              -->在左边的DB Browser空白处(右键New)-->配置好参数-->
   Driver template 选Microsoft SQL Server 2005
   Driver name     自己随便写(比如:sql2005)
   Connection URL  jdbc:sqlserver://localhost:1433;databaseName=Users(其中:Users是自己的数据库名)
   Users name       sa
   Password   
   -->点Add JARs(找到2005的驱动sqljdbc) -->finish -->右键刚才新建的sql2005(Open connection测试下成功否)
3.导入Hibernate资源
  再次点MyEclipse右上角网格状(Open Perspective)-->切换到MyEclipse Java Enterprise Development
  -->新建一个项目(hibernate_he)-->右键hibernate_he(选MyEclipse-->Add Hibernate Capabilities)
  -->下面的单选按钮选Copy checked...-->next-->next(DB Driver里选sql2005(刚才配好的数据源))
  -->next(点Java package右边的New..-->设name为po)-->finish
4.根据表自动生成对应的类
  切换到MyEclipse DataBase Explorer(点MyEclipse右上角网格状(Open Perspective))
  -->sql2005/Users/dbo/TABLE/UserInfo(其中Users是自己的数据库名,UserInfo是要用的表名)
  -->右键UserInfo(选Hibernate Reverse Engineering,然后第一个Browser选Hibernate_he/src/po
     并选中前3个复选框,其他的为非选中状态-->next(Id Generator 设置为native)-->finish

以上Hibernate的准备工作完毕

5.在src下新建dao包(接口UserDao,实现接口的类UserDaoImpl,工厂UserDaoImplFactory)

3个类代码

6.在src下新建bean包(新建一个类Test,勾选Public static void main..)
   1.切换不同的注释看效果(Alt+/ 为注释快捷键)
      1.普通插入或修改,查询
      2.修改或者删除一条数据(先用get得到一个对象(即一条数据))
      3.修改或者删除多条数据(execute(hql)原理:hql=update UserInfo u set u.pwd=250 where u.type=1)
   2.测试时,最好先多插入几条数据,呵呵

7.注意问题:
   1.Hibernate里的是hql语句(类似sql,不同的是表名和字段名改为类名和字段名,具体的对应关系在po/*.hbm.xml)
      比如下面的from UserInfo u where u.id=1(不要写成userInfo 和Id了)
    <hibernate-mapping>
    <class name="po.UserInfo" table="userInfo" schema="dbo" catalog="Users">
        <id name="id" type="java.lang.Integer">
            <column name="Id" />
            <generator class="native" />
        </id>....
   2.sql配置数据源时,有时连接不上,需要在sql2005的配置管理器里(把Tcp/ip启动,然后把数据库关闭连接再打开)
     如果还有什么其他问题,肯定是数据库的问题,而且主要就是sql2005的配置管理器里,由于具体版本不一样
     就不多说了
     恩,其中很多问题都是在sql2005的配置管理器里(找到Tcp/ip并右键->属性->ip地址->最后端口号设置为1433

8.代码和资源:    代码下载       sql2005驱动

你可能感兴趣的:(Hibernate)