Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
ORM: Object Realtion Mapping
一,导入jar包

二,创建数据库,建表

三,创建class,和表的对应关系映射文件
Account.class
public class Account {
/* 一定要生成 setter getter 方法,否则包异常 */
private int accountId;
private String name;
private int age;
private String nickName;
public int getAccountId() {
return accountId;
}
public void setAccountId(int accountId) {
this.accountId = accountId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
}
Account.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="gy.hibernate"> <class name="Account" table="accounts"> <!-- 主键 ,映射 --> <id name="accountId" column="id"> <generator class="native" /> </id> <!-- 非主键,映射 --> <property name="name" column="name"></property> <property name="age" column="age"></property> <property name="nickName" column="nick_name"></property> </class> </hibernate-mapping>
四,配置hibernate 配置文件
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> <!-- 配置数据库url --> <property name="hibernate.connection.url">jdbc:mysql:///hibernate_db</property> <!-- mysql账号 --> <property name="hibernate.connection.username">root</property> <!-- mysql密码 --> <property name="hibernate.connection.password"></property> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 调试打印日志 --> <property name="hibernate.show_sql">true</property> <!-- 加载所有映射 --> <mapping resource="gy/hibernate/Account.hbm.xml"/> </session-factory> </hibernate-configuration>
五,代码调用
public String register() {
System.out.println("开始注册-------------------------");
Account account = new Account();
// account.setAccountId(1);
account.setName("xiao gang");
account.setAge(15);
account.setNickName("xg");
// 获取加载配置文件的管理类对象
Configuration config = new Configuration();
config.configure(); // 默认加载src/hibenrate.cfg.xml文件
// 创建session的工厂对象
SessionFactory sf = config.buildSessionFactory();
// 创建session (代表一个会话,与数据库连接的会话)
Session session = sf.openSession();
// 开启事务
Transaction tx = session.beginTransaction();
// 保存-数据库
session.save(account);
// 提交事务
tx.commit();
// 关闭
session.close();
sf.close();
return SUCCESS;
}
原文:https://www.cnblogs.com/yangzigege/p/9472300.html