Hello Hibernate3.2
一、Hibernate?
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。
「物件/关系对应」(Object/Relational Mapping)的解决方案,简写为ORM,简单的说就是将 Java 中的物件与物件关系,映射至关系数据库中的表格与表格之间的关系
二、利用MyEclipse 8.0 搭建Hibernate环境
1.new 一个java project
2.add capabilities
生成的配置文件:
<?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="dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="connection.url"> jdbc:mysql://localhost:3306/hibernate </property> <property name="connection.username">root</property> <property name="connection.password">root</property> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="myeclipse.connection.profile">mysql</property> <property name="show_sql">true</property> </session-factory> </hibernate-configuration>
三、利用MyEclipse 8.0生成映射文件和对应的POJO
简单的Java对象(Plain Old Java Objects)实际就是普通JavaBean
利用DB Browser 反向生成映射文件和对应的POJO Hibernate reverse engineering
生成的映射文件:
<?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.linys.model.User" table="user" > <id name="userName" type="java.lang.String"> <column name="userName" length="50" /> </id> <property name="password" type="java.lang.String"> <column name="password" length="50" /> </property> </class> </hibernate-mapping>
其中
classs--指定映射的Object类
name --指定Object的信息:类名
table--指定映射的表Relation
name --指定Object的的主键属性
type--指定类中属性的数据类型
column--该属性对应的字段
property--指定Object类中非主键的属性
四、进行简单的插入操作
import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import com.linys.model.User; public class TestUser { public static void main(String[] args) { User user=new User(); user.setPassword("admin"); user.setUserName("admin"); //注册配置文件hibernate.cfg.xml,默认存放在src下 Configuration cf=new Configuration().configure(); //创建SessionFactory SessionFactory sf=cf.buildSessionFactory(); //打开Session,取得与数据库对话的权利 Session session=sf.openSession(); //由于要对数据库进行插入insert操作我们引入了事务Transaction Transaction ts=session.beginTransaction(); ts.begin(); //插入数据 session.save(user); ts.commit(); //关闭session和sessionFactory session.close(); sf.close(); } }