【SSH三大框架】Hibernate基础第一篇:编写第一个Hibernate程序
接下来这几章节学习的是Hibernate,Hibernate的主要作用就是用来和数据库进行连接,简化了JDBC的操作。
首先,我们创建项目,然后把Hibernate的jar包和sqlserver的驱动导入进去。
接下来,我们需要写一个实体类:User
package cn.itcast.hibernate.domain; import java.util.Date; public class User { private int id; //private String name; private String name; private Date birthday; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }提供了三个属性:id、name、birthday
然后,我们在User所在的包下,配置User实体类的映射文件:User.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.itcast.hibernate.domain"> <class name="User" table="uuser"> <id name="id"> <generator class="native"/> </id> <property name="name" /> <property name="birthday" /> </class> </hibernate-mapping>可以看到,我们配置了一个<class>,name属性是这个类的雷鸣,table是要映射的数据库的表
<id><property><property>这三个标签是定义了表中的属性列,其中为id设置了<generator>标签,规定了主键生成的策略(后边会介绍)
接下来,我们就要写配置文件了,在src目录下创建: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"> <hibernate-configuration> <session-factory> <property name="connection.driver_class"> com.microsoft.sqlserver.jdbc.SQLServerDriver </property> <property name="connection.url"> jdbc:sqlserver://localhost:1433;DatabaseName=testhibernate </property> <property name="connection.username">sa</property> <property name="connection.password">123456</property> <property name="dialect"> org.hibernate.dialect.SQLServerDialect </property> <property name="connection.password">123456</property> <property name="hbm2ddl.auto">create</property> <property name="show_sql">true</property> <mapping resource="cn/itcast/hibernate/domain/User.hbm.xml" /> </session-factory> </hibernate-configuration>在这上边配置了数据库驱动、数据库地址及数据库、用户名、密码、sqlserver数据库方言,还有建表方式、是否显示sql语句,最后一个<mapping>是把user.hbm.xml这个映射文件引入进来。
然后,我们写一个测试类实现一下:
package cn.itcast.hibernate; import java.util.Date; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import cn.itcast.hibernate.domain.User; public class Base { public static void main(String[] args) { Configuration cfg = new Configuration(); cfg.configure(); SessionFactory sf = cfg.buildSessionFactory(); Session s = sf.openSession(); Transaction tx = s.beginTransaction(); User u = new User(); u.setBirthday(new Date()); u.setName("name1"); s.save(u); tx.commit(); s.close(); System.out.println("end"); } }在这段代码中,首先加载配置文件,然后打开session,再利用session打开事务,然后把user对象保存在session中,提交事务,关闭session。
在Hibernate中,默认是不会插入数据的,只有打开事务才能够插入。
我们运行之后,就可以发现数据库中插入了一条数据。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。