Hibernate第一个程序

 Hibernate是一个开放源代码的ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装,Java程序员可以使用面向对象的编程思维来操纵数据库,它通过对象属性和数据库表字段之间的映射关系,将对象持久化到数据库中,可以说Hibernate就是将数据从对象形式转换成表字段后存入数据库的一种框架。hibernate移植非常好,因为它用到了方言配置,可以根据不同的数据库自动发出不同的sql。

一、使用IDEA 新建一个project,选中Hibernate,IDEA里使用maven管理jar包,所有需要的jar包maven都会为你下载。特别方便。

二、使用MySql创建数据库hibernate并且创建表。

create database hibernate;
use hibernate;
create table Teacher(id int primary key,name varchar(20),title varchar(10));
三、创建Teacher实体类,类中使用了annotation注解。

package com.example.hibernate;

import javax.persistence.Entity;
import javax.persistence.Id;

/**
 * Created by zhangdehua on 2016/11/21.
 */

//以下为annnotation注释
@Entity
public class Teacher {
    private int id;
    private String name;
    private String title;

    @Id //声明主键
    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;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }
}
四、写测试类:

package test;

import com.example.hibernate.Teacher;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

/**
 * Created by zhangdehua on 2016/11/21.
 */
public class TeacherTest {
    public static void main(String[] args){
        Teacher t = new Teacher();
        t.setName("张德华");
        t.setTitle("中级");

        Configuration cfg = new Configuration();
        SessionFactory sf = cfg.configure().buildSessionFactory();
        Session session = sf.openSession();
        session.beginTransaction();
        session.save(t);
        session.getTransaction().commit();
        session.close();
        sf.close();

    }
}

五、配置Hibernate.cfg.xml配置文件:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!--数据库连接的URL,hiber为数据库名字-->
        <property name="hibernate.connection.url" >jdbc:mysql://localhost:3306/hibernate</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.username" >root</property>
        <property name="hibernate.connection.password" >123456</property>
        <!-- DB schema will be updated if needed -->
        <!--Hibernate方言-->
        <property name="dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <!--设置为update时如果没有表就先建立表,有表的话进行更新。-->
        <property name="hbm2ddl.auto">update</property>
        <!--显示sql语句,在调试的时候设置为true便于程序的调试,发布应用的时候设置为false,减少信息的输出量,提高关键的运行性能-->
        <property name="show_sql">true</property>
        <!--以下为注解后的实体的mapping配置方法-->
        <mapping class="com.example.hibernate.Teacher" />
    </session-factory>
</hibernate-configuration>






运行测试之后可以把数据插入数据库,但是运行第二次报错,执行不了sql语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值