hibernate入门
hibernate介绍
- 什么是hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。
hibernate入门
- hibernate 所需的jar包
链接:https://pan.baidu.com/s/1e8Uxkqn89ech7BXXKMn6JA 解压码:p3ev
创建java项目
添加lib文件夹将jar包复制进去
选中jar包
在mysql中创建数据库
创建表
创建实体类
User.java
package com.zzm.entity;
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setUid(int id) {
this.id = id;
}
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;
}
}
在同一包名下创建映射文件(xml文件)
User.hbm.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>
<!-- name是实体类的全路径,table是表的名称 -->
<class name="com.zzm.entity.User" table="t_user">
<!-- name:实体类的id,column:数据表的id名 -->
<id name="id" column="id">
<!-- 实现主键和自动增长 -->
<generator class="native"></generator>
</id>
<!-- name:实体类的的名称;column:跟表中的列名一一对应 -->
<property name="username" column="username"></property>
<property name="password" column="password"></property>
</class>
</hibernate-mapping>
在src下创建配置文件
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>
<!-- mysql驱动 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 数据库名hibernate -->
<property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
<!-- 数据库用户名 -->
<property name="hibernate.connection.username">root</property>
<!-- 数据库的密码 -->
<property name="hibernate.connection.password">root</property>
<!-- mysql的方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 打印sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 格式化SQL语句 -->
<property name="hibernate.format_sql">true</property>
<!-- User.hbm.xml文件的全路径 -->
<mapping resource="com/zzm/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
测试
hibernateSave.java
package com.zzm.hibernatedemo;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
import com.zzm.entity.User;
public class hibernatedemo {
@Test
public void testadd() {
Configuration cfg = new Configuration().configure();
SessionFactory sessionFactory = cfg.buildSessionFactory();
Session session = sessionFactory.openSession();
//添加用户
User user = new User();
user.setUsername("wangwu");
user.setPassword("123");
user.setAddress("guangdong");
session.save(user);
Transaction tx = session.beginTransaction();
tx.commit();
session.close();
}
}
控制台出现
查看数据表的数据已经更新。