hibernate:简单了解hibernate

hibernate属于持久化技术(jdbc、io),用来操纵数据库的,原意为让java对象在数据库中冬眠,即以Java对象的形式将数据存储到磁盘。

让我们来看看jdbc的操作数据方式:

添加,loan(id,.......)140个字段
--------------------------------------
Class.forName("注册驱动");//驱动
Connection conn=DriverManager.getConnection(url,username,password);
String sql="insert into loan(creatTime,......140)values(?,?,?.......140);"
PreparedStatement ppst=conn.prepareStatement(sql);
//绑参
ppst.setString(1,new Date());
.......
//140次手动绑参
ppst.executeUpdate();
conn.commit();//提交
//释放资源
ppst.close();
conn.close();

删除,loan(id,.......)140个字段
--------------------------------------
Class.forName("注册驱动");//驱动
Connection conn=DriverManager.getConnection(url,username,password);
String sql="delete from loan where id=?"
PreparedStatement ppst=conn.prepareStatement(sql);
//绑参
ppst.setInt(1,1);
ppst.executeUpdate();
conn.commit();//提交
//释放资源
ppst.close();
conn.close();

修改,loan(id,.......)140个字段
--------------------------------------
Class.forName("注册驱动");//驱动
Connection conn=DriverManager.getConnection(url,username,password);
String sql="update loan set creatTime=?,......140  where id=?"
PreparedStatement ppst=conn.prepareStatement(sql);
//绑参
ppst.setString(1,new Date());
.....
//140次手动绑参
ppst.executeUpdate();
conn.commit();//提交
//释放资源
ppst.close();
conn.close();

查询,loan(id,.......)140个字段
--------------------------------------
List<Loan> listLoan=new ArrayList<Loan>();
Customer c=null;
Class.forName("注册驱动");//驱动
Connection conn=DriverManager.getConnection(url,username,password);
String sql="select * from loan ";
PreparedStatement ppst=conn.prepareStatement(sql);
//绑参
ResultSet rs=ppst.executeQuery();
while(rs.next()){
c=new Loan();
c.setId(rs.getgetInt("id"));
//......140个参数都要这么赋值
list.add(c);
}

conn.commit();//提交
//释放资源
ppst.close();
conn.close();
return list;

综上可知,确切说,使用jdbc除了删除不用绑定很多参数,增,改,查,都要绑定很多参数,是面向字符串编程,会出现三种因为人为操作的弊端/错误:
1 占位符不匹配
2 字段找不到
3 数据类型不匹配

但是 hibernate 和jdbc不同的是,不用我们自己关注访问细节(eg:建立结果集,封装集合,绑定大量参数,提交,释放资源,关闭连接。) ,hibernate是面试对象编程的(oop:oriented object program),通过hql语言来描述操作数据意向,hql语言为面向对象的语言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值