hibernate +++

Posted muhe221

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate +++相关的知识,希望对你有一定的参考价值。

 

package com.hust.dong;

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工厂
    }

    @Test
    public void testSave() {
        User user = new User();
        user.setName("zhangsan");

        // 保存
        Session session = sessionFactory.openSession(); // 打开一个新的Session
        Transaction tx = session.beginTransaction(); // 开启事务

        session.save(user);

        tx.commit(); // 提交事务
        session.close(); // 关闭Session,释放资源(不一定是真正的关闭)
    }

    @Test
    public void testGet() {
        Session session = sessionFactory.openSession();
        Transaction tx = session.beginTransaction();

        User user = (User) session.get(User.class, 4); //
        System.out.println(user);

        tx.commit();
        session.close();
    }
}

创建数据库

mysql -u root -p
create database cm_hibernate default character set utf8;
use cm_hibernate;
create table t_user( id int primary key auto_increment, name varchar(20) );

 运行即可

 http://blog.csdn.net/yerenyuan_pku/article/details/52733275

以上是关于hibernate +++的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate的HQL多表查询

Hibernate + MySQL:如何为数据库和表设置编码 utf-8

hibernate在使用getCurrentSession时提示no session found for current thread

Hibernate CriteriaQuery where - ManyToOne 字段

使用反射在外部JAR / CLASS上调用包含Hibernate事务的方法(Java EE)

Hibernate ORM框架——续第一章:Hibernate的增删改查(第一个hibernate代码的优化)