本人根据视频学习了一下三大框架中比较简单的一个Hibernate,并简单完成了一个运用Hibernate的小程序
Hibernate是一个简化web程序Dao层的一个框架,应用他,可以完全脱离sql语句
第一步:创建一个java项目,没有必要创建一个web项目,因为Hibernate本身是针对后台对数据库的操作的
第二步:导入jar包:可以在根目录下创建一个lib文件夹用来存放导入的jar包,当然要先下载Hibernate的资源包并解压,打开之后首先将根目录的两个jar包导入,截图如下
然后打开lib文件夹将required文件夹里的jar包全部导入,再将jpa文件夹的jar包导入,最后导入mysql的连接的jar包,至此,需要的jar包全部导入完毕,最后右击创建的lib文件夹,进行一下build path
第三步:
创建一个实体类,为了简单,只创建一个user类,包含三个属性,id,username,pasword,并分别写出get和set函数,并在后台数据库中创建出相应的表
第四部:配置链接数据库的xml文件,该xml的全称是hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory > <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">root</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/EE19Day01</property> <!-- 操作数据库时,会向控制台打印sql语句 --> <property name="show_sql">true</property> <!-- 在打印sql语句之前,首先对其进行转化,转化成程序员可以看懂的sql语句 --> <property name="format_sql">true</property> <!--是否自动生成表结构 --> <property name="hbm2ddl.auto">update</property> <!-- 事务自动提交 --> <property name="hibernate.connection.autocommit">true</property> <mapping resource="User.hbm.xml"/> </session-factory> </hibernate-configuration>
第五步:配置Hibernate的orm映射关系,代码如下:全称是User.hbm.xml(最好xml的名称与类的名称保持一致,以便后边的简单操作)
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="cn.heima_hello.User" table="t_user"> <id name="id" column="id"> <generator class="native"> </generator> </id> <property name="username" column="username"></property> <property name="password" column="password"></property> </class> </hibernate-mapping>
第六步:创建一个测试类,对数据库进行操作
package cn.heima_hello; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class test01 { public void fun1() { //1.读取配置文件 Configuration conf = new Configuration().configure(); //2.根据数据创建factory对象 SessionFactory sessionFactory = conf.buildSessionFactory(); //3.获取操作数据库的session对象 Session session = sessionFactory.openSession(); //4.操作数据库 User user = new User(); user.setUsername("Tom"); user.setPassword("1234"); session.save(user); //5.关闭资源 session.close(); sessionFactory.close(); } public static void main(String[] args) { // TODO Auto-generated method stub test01 test01 = new test01(); test01.fun1(); } }
至此,一个简单的Hibernate程序已经搭建好,如果有什么问题,给以评论私聊