java web从零单排第十九期《Hibernate》初入Hibernate
来源:互联网 发布:土耳其航空 知乎 编辑:程序博客网 时间:2024/06/05 12:49
JBoss公司的Hibernate开源项目为企业级开发中的数据持久层技术注入了新鲜的血液。它不仅对跨数据库,事务封装,ORM映射,延迟加载等这些细节技术提供了完善的解决方案,也对一些在程序开发中容易忽略问题进行了良好的封装和规划。
(1)通过使用ORM-Object-relational mapping映射,以Bean形式操作数据库中的记录。
(2)强大的一级,二级缓存机制结合数据库连接池POOL,大大提高了CURD (create,update,read,delete)的操作效率。
(3)在SQL维护性hibernate也设计得非常优秀,可以将系统中大量的sql语句放入XML文件进行统一管理。
(4)Spring+Hibernate范型是一个强大的组合,这样可以免去写大量DAO代码,减少了工作量,而且维护性大大增强。
(5)减少了那些大量重复的JDBC代码,使用Hibernate后,省去了很多重复性的工作。
(6)项目融入Hibernate后,可以更好地理解面向对象编程,以面向对象的设计方式程序的架构。
1.用MyEclipse开发第一个Hibernate实例:
1.1在开始之前安装好自己的数据,我的是SQLSERVER2008数据库,通过cmd建表:
-U 后面接用户名 -P后面接密码
1.2.创建使用数据库:
这里创建立一个hibernate_1数据库,并且开始对此数据库进行操作。
1.3新建表first
1.4查看表是否创建成功
2.新建工程Hibernate
点击Add Hibernate Capablities
点击finish就完成我们的一大步了
3.配置hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. --><hibernate-configuration> <session-factory> <property name="show_sql" >true</property> <property name="connection.url">jdbc:sqlserver://127.0.0.1:1433;DatabaseName=hibernate_1</property> <property name="connection.username">sa</property> <property name="connection.password">57829707</property> <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property> <property name="dialect">org.hibernate.dialect.SQLServerDialect</property> <mapping resource="User.hbm.xml"/> </session-factory></hibernate-configuration>
对于第一个属性<property name="show_sql">true</property> 可以在控制台显示sql语句,在开发期间便于观察数据的改变。
<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>数据库方言,根据数据库种类的不同,这里写的是不一样,查看hibernate文档,下面列举出方言:
<mapping resource>映射资源我们下面来完成:
新建User.hbm.xml:
代码如下:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping> <class name="com.hibernate.model.User" table="first"> <id name="username" column="username" type="string"> <generator class="increment"><!-- 主键id的生成方式 --> </generator> </id> <property name="password" column="password" type="string"></property> </class></hibernate-mapping>
id name="username" :因为username是我们设定好的主键,所以要用id标签;
column="username":我们自定义的字段名,最好与数据库中的字段名相同;
type="string":在数据库中username为varchar类型,在java与之相对的是string类型,关于数据的类型对象,后几期会有讲解。
generator class="increment":主键的生成方式,由于主键是自动生成的,所以会有其很多生成方式,我们这里采用的是递增方式。
<property name="password">除了主键以外的属性我们都用property标签来指定,具体跟前面一样。
下面我们新建com.hibernate.model包和User类:
package com.hibernate.model;public class User {private String username;public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}private String password;}
到这里我们的配置都已经完成,下一期我们进入hibernate核心的实现。
- java web从零单排第十九期《Hibernate》初入Hibernate
- java web从零单排第二十二期《hibernate》代码分析之查看,删除用户信息
- java web从零单排第二十三期《Hibernate》重定向显示用户列表
- java web从零单排第二十四期《hibernate》常用数据类型(1)
- java web从零单排地二十期《Hibernate》基本流程
- java web从零单排第三期 《servlet》(1)
- java web从零单排第四期《servlet》(2)
- java web从零单排第五期《servlet》(3)
- java web从零单排第六期《struts2》
- java web从零单排第十三期《struts2》OGNL上下文
- java web从零单排第二十一期《Hibernate》主键的生成方式,用户增加与显示用户列表
- java web从零单排第1期之《运行第一个jsp》
- java web从零单排第二期之《html表单基础介绍》
- java web从零单排第七期《struts2》用ActionSupport类验证提交表单
- java web从零单排第八期《struts2》与JavaBean的结合使用
- java web从零单排第九期《struts2》action的转发与重定向
- java web从零单排第十期《struts2》result method属性和全局result
- java web从零单排第十二期《struts2》数据校验显示出错信息
- Python之美[从菜鸟到高手]--一步一步动手给Python写扩展(爱之初体验)
- Activity之间的数据传递
- hdu 4714 Tree2cycle (树形dp)
- gcc安装
- ArcGIS10.1正式版全套下载
- java web从零单排第十九期《Hibernate》初入Hibernate
- 返回指针的函数
- Harris-Laplace原理
- SQL语句执行顺序
- C++指针
- android开发
- 动态链接库dll的 静态加载 与 动态加载
- python 装饰器
- 事务中savepoint的使用