hibernate:简单了解hibernate
程序员文章站
2022-05-24 12:29:13
...
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语言为面向对象的语言。
上一篇: 说说在 Spring 中如何使用编码方式动态配置 Bean
下一篇: hibernate
推荐阅读
-
简单了解Linux系统中pgrep与pkill命令的使用
-
简单了解Linux系统中rev命令与tac命令的用法
-
简单了解mybatis拦截器实现原理及实例
-
基于Struts2+Hibernate开发小区物业管理系统 源码 B
-
简单了解Python下用于监视文件系统的pyinotify包
-
springboot使用hibernate validator校验,Bean Validation校验
-
Hibernate 框架入门
-
Intellij IDEA 2019 + Java Spring MVC + Hibernate学习笔记(1)
-
简单了解Google的主力数据存储系统Bigtable
-
oracle数据库查询没问题,正常显示两个汉字;但是java后台Hibernate查询的时候只显示第一个汉字怎么解决?