使用到的是MySQL数据库
1.在项目中先引入jar包,并添加引用

<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.3</version> <scope>test</scope> </dependency> <dependency> <groupId>antlr</groupId> <artifactId>antlr</artifactId> <version>2.7.7</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.10.Final</version> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.1.Final</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.12.1.GA</version> </dependency> <dependency> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> <version>1.1</version> </dependency> <!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.5</version> <scope>test</scope> </dependency> <!--mysql--> <dependency> <groupId>org.wisdom-framework</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.34_1</version> </dependency> </dependencies>
在引用jar包的时候先不要引用javaee-api的jar,会报错
2.写学生的实体类

//学号 private Integer sid; //姓名 private String name; //年龄 private Integer age;
3.Hibernate.cfg.xml配置 (cfg表示的是configuration)

1 <?xml version='1.0' encoding='utf-8'?> 2 <!DOCTYPE hibernate-configuration PUBLIC 3 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 4 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 5 <hibernate-configuration> 6 <session-factory> 7 <!--数据库MSQ驱动--> 8 <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 9 <!--数据库URL--> 10 <property name="connection.url">jdbc:mysql://localhost/hibernates? 11 characterEncoding=gb2312</property> 12 <!--数据库用户名--> 13 <property name="connection.username">root</property> 14 <!--数据库密码--> 15 <property name="connection.password">root</property> 16 <!--方言--> 17 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 18 19 <!--输出所有语句到控制台--> 20 <property name="hibernate.show_sql">true</property> 21 22 <!--在log和conlose中打印出更 格式化显示SQL--> 23 <property name="hibernate.format_sql">true</property> 24 25 <!-- hbm2ddl --> 26 <property name="hibernate.hbm2ddl.auto">update</property> 27 28 <!-- 指定当前session范围和上下文 thread指当前线程来跟踪管理 --> 29 <property name="current_session_context_class">thread</property> 30 31 <!-- 映射文件配置,注意配置文件名必须包含其相对于classpath的全路径 --> 32 <mapping resource="Student.hbm.xml"></mapping> 33 </session-factory> 34 </hibernate-configuration>
4.Student.hbm.xml

1 <?xml version='1.0' encoding='utf-8'?> 2 3 <!DOCTYPE hibernate-mapping PUBLIC 4 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 5 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 6 <hibernate-mapping package="cn.happy.entity"> 7 <class name="Student" table="Student"><!--表名,不区分大小写--> 8 <id name="sid" column="sid"> 9 <generator class="native"></generator> 10 <!--native : 11 如果后台是Oracle,自动创建序列 12 后台是MySQL,自动自增 13 --> 14 </id> 15 <property name="name" type="string" column="name"/> 16 <property name="age"/> 17 </class> 18 </hibernate-mapping>
5.测试类,使得数据使用Hibernate保存到数据库中

1 @Test 2 public void testhibernate() { 3 4 //01准备一个学生对象 5 Student stu = new Student(); 6 stu.setSid(3); 7 stu.setName("白白"); 8 stu.setAge(44); 9 10 //02Hibernate 保存 11 //读取大配置文件,获取连接的数据库信息 12 Configuration cfg=new Configuration().configure(); 13 14 //3创建SessionFactory 15 SessionFactory factory=cfg.buildSessionFactory(); 16 17 //加工session 18 Session session=factory.openSession(); 19 20 //开启事务 21 Transaction tx=session.beginTransaction(); 22 23 //5Hibernate 24 25 session.save(stu); 26 27 tx.commit(); 28 System.out.println("save ok"); 29 }
6.实现效果图