java web从零单排第十九期《Hibernate》初入Hibernate

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建表:

java web从零单排第十九期《Hibernate》初入Hibernate_第1张图片

-U 后面接用户名 -P后面接密码

1.2.创建使用数据库:

java web从零单排第十九期《Hibernate》初入Hibernate_第2张图片

这里创建立一个hibernate_1数据库,并且开始对此数据库进行操作。

 

1.3新建表first

1.4查看表是否创建成功

2.新建工程Hibernate

java web从零单排第十九期《Hibernate》初入Hibernate_第3张图片

点击Add Hibernate Capablities

java web从零单排第十九期《Hibernate》初入Hibernate_第4张图片

java web从零单排第十九期《Hibernate》初入Hibernate_第5张图片

java web从零单排第十九期《Hibernate》初入Hibernate_第6张图片

java web从零单排第十九期《Hibernate》初入Hibernate_第7张图片

点击finish就完成我们的一大步了

3.配置hibernate.cfg.xml

java web从零单排第十九期《Hibernate》初入Hibernate_第8张图片

 

<?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文档,下面列举出方言:

java web从零单排第十九期《Hibernate》初入Hibernate_第9张图片

<mapping resource>映射资源我们下面来完成:

新建User.hbm.xml:

java web从零单排第十九期《Hibernate》初入Hibernate_第10张图片

 

代码如下:

<?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核心的实现。


你可能感兴趣的:(Hibernate,struts2,MyEclipse,Web应用)