hibernate在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层。
百度百科的解释是:
Hibernate (开放源代码的对象关系映射框架)
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任
下面是Hibernate的使用:
首先去官网 下载jar文件地址如下;
http://hibernate.org/orm/
现在的最新的版本是 5.2.4的版本了 。
这里我是下载了最新的版本,解压之后会发现有好多文件夹,这里我暂时使用到的是
hibernate-release-5.2.4.Final\lib\required 文件夹底下的jar包
把required 文件下的jar包导入之后别忘了把数据库的驱动包导入 然后添加到当前的工程中 。如图:
然后配置hubernate.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.url">jdbc:mysql://localhost/test?useSSL=true</property>
<!--设置方言-->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!--是否允许创建数据库-->
<property name="hbm2ddl.auto">update</property>
<!--用户名-->
<property name="hibernate.connection.username">root</property>
<!--数据库密码-->
<property name="hibernate.connection.password">123456</property>
<!--映射文件-->
<mapping resource="entity/Tab1Entity.hbm.xml"/>
</session-factory>
</hibernate-configuration>
文件的开头一般都这么写
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
“hbm2ddl.auto” 的值有四种
列表内容create:表示启动的时候先drop,再create
create-drop: 也表示创建,只不过再系统关闭前执行一下drop
update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新
- validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新
<!--映射文件-->
<mapping resource="entity/Tab1Entity.hbm.xml"/>
这句可以不用添加 IDEA会自动生成表中的实体然后添加到 hibernate.cfg.xml文件中
情景: 把数据表映射成实体类
第一步:首先创建一个项目并勾选 Hibernate 选项
如果是Hibernate 忘记添加怎么办呢 如下图添加.
第二步 测试数据库链接
IDEA 自带了一个很好的数据库连接功能在面板的 右侧
创建一个数据库的链接如图
然后填写一些链接配置信息
如果没有问题 那点击 test connect 就可以 验证通过了 。那么就会看到数据库的一些表的信息
第三步:映射实体类
这里会自动创建 xxxx.hbm.xml 还有XXXEntity
创建测试程序
public class Main {
public static void main(String [] agrs){
final StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
.configure()
.build();
SessionFactory sessionFactory = new MetadataSources( registry ).buildMetadata().buildSessionFactory();
Session session= sessionFactory.openSession();
session.beginTransaction();
//创建一条数据
Tab1Entity tab1Entity=new Tab1Entity();
// tab1Entity.setId("123");
tab1Entity.setName("我是3");
//保存数据
session.save(tab1Entity);
//提交
session.getTransaction().commit();
}
}