Hibernate框架

1.在Ecplipse搭建Hibernate框架
(1).安装Hibernatetools插件 
a.在线:Help——>Eclipse MarketPlace --搜索Hibernate
b.离线: Help-->InstallNewSoftWare-->add (在线和离线任选一种安装Hibernatetools插件,推荐使用在线)


(2).导入相对应的Jar文件
(3).创建Hibernate配置文件:hibernate.cfg.xml(SRC)
a.配置和数据库有关的属性:
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/数据库名</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.username">数据库用户名</property>
        <property name="hibernate.connection.password">数据库密码</property>
b.配置方言:dialect 取值:请看hibernate-release-5.2.0.Final\project\etc\hibernate.properties   列如:<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
c.显示SQL语句:<property name="show_sql">true</property>
d.格式化SQL语句:<property name="format_sql-true">true</property>
(4).创建实体类(和数据库表中相对应)
(5).创建映射文件(对象/关系):Hibernate XML Mapping file(hbm.xml)(创建在实体类下面)  将此映射文件关联到配置文件  <mapping resource="包/文件名"/>
(6).访问数据库操作(测试):
//加载Hibernate配置文件:
Configuration configuration=new Configuration().configure();
//创建SessionFactory:
SessionFactory sessionFactory = configuration.buildSessionFactory();
//创建Session
Session session = sessionFactory.openSession();
//开始事务
Transaction transaction = session.beginTransaction();
//执行数据库操作
//提交事务
transaction.commit();
//关闭Session
session.close();
//关闭SessionFactory
sessionFactory.close();
2.基本的CRUD
添加:session.save(object)


读取:a.读取单个 session.get(实体类.class, 查询条件:如20);     b.读取所有session.createCriteria(实体类.class).list();


修改:update():两种方式
//根据ID找到要修改的对象  
Sheng s=(Sheng)session.get(Sheng.class, sheng.getSid());
//设置要修改的属性值
s.setSname(sheng.getSname());
//执行修改操作
session.update(s);


删除:delete():两种方式
//找到要删除的对象
Sheng sheng=(Sheng) session.get(Sheng.class, sid);
//执行删除
session.delete(sheng);


3.主键的生成策略:ID Generator


数字:
a.increment:由Hibernate框架生成,会去查询数据库中最大值,适应任何数据库
b.sequence:由数据库的序列(sequence),生成只适应Oracle数据库
            <generator class="sequence" >
                <param name="sequence">数据库中序列的名字</param>
            </generator>
c.indentity:SqlServer的自动增长方式
d.native:由框架判断底层数据库的类型,并有数据库生成
如果底层是oracle数据库,数据库中必须创建序列,并且序列的名字必须为Hibernate_sequence


字符串:
assigned:由程序中指定,手动设置,也就是手动设置id的值
uuid:由框架生成32位的字符串,作为表的主键,适应于所有数据库
外键:foreign
           <id name="uid" type="int">
            <column name="UID" />
            <generator class="foreign">
                <param name="property">外键的表名</param>
            </generator>
        </id>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值