Hibernate实现存取对象

来源:互联网 发布:php接口有哪些 编辑:程序博客网 时间:2024/05/11 19:12

1.基本准备,构建表、实体

create database hibernate1 default character set utf8;

use hibernate1;
t_user表:
  id      int 主键 自动增长
  name    varchar(20)

create table t_user(id int primary key auto_increment,name varchar(20) );


User对象
  int id
  String name

package demo;public class User {private int id;private String name;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;}}
2.搭建环境

导入Hibernate jar包和mysql jar包、hibernate.cfg.xml,修改配置文件

hibernate.cfg.xml

<?xml version="1.0" encoding="gbk"?><!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 name="foo"><!--配置数据库信息 --><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.url">jdbc:mysql://localhost:3306/hibernate1</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="connection.password">123</property><property name="connection.username">root</property><!--显示生成的数据库--><property name="show_sql">true</property><!--导入映射文件--><mapping resource="demo/User.hbm.xml"/></session-factory></hibernate-configuration>
User.hbm.xml

<?xml version="1.0" encoding="gbk"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><!--   This mapping demonstrates      (1) a table-per-subclass mapping strategy              (2) a simple component mapping          (3) recursive associations withing an inheritance tree     --><hibernate-mapping package="demo"><class name="User" table="t_user"><id name="id" type="int" column="id" ><generator class="native"/> <!--表示自动增长--></id>        <property name="name" type="string" column="name" /></class></hibernate-mapping>
User.hbm.xml 表示实体对象与数据库对象的对应关系

3.完成具体功能

package demo;public class User {private int id;private String name;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;}@Overridepublic String toString() {// TODO Auto-generated method stubreturn "id="+id+" name="+name;}}

package demo;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.junit.Test;public class App {private static SessionFactory sessionFactory;//初始化static{Configuration cfg=new Configuration();cfg.configure("hibernate.cfg.xml");//读取指定的主配置文件sessionFactory=cfg.buildSessionFactory();//生成session工厂}@Testpublic void testSave() throws Exception{User  user=new User();user.setName("张三");//保存Session session=sessionFactory.openSession();Transaction  tx=session.beginTransaction(); //开启事务session.save(user);tx.commit();//提交事务session.close();  //释放资源,不一定是真正的关闭}@Testpublic void testGet()throws Exception{Session session=sessionFactory.openSession();Transaction  tx=session.beginTransaction(); //开启事务User user=(User)session.get(User.class,1);System.out.println(user);tx.commit();//提交事务session.close();  //释放资源,不一定是真正的关闭}}






0 0
原创粉丝点击