hibernate 中的Annotation的使用
来源:互联网 发布:java好书推荐 编辑:程序博客网 时间:2024/05/17 05:58
第一步:创建普通的Java工程用Main方法测试工程创建完成后在Mysql中新建一张名称叫XuXuDan的表。代码如下:
C:\Documents and Settings\Administrator>mysql -uroot -prootWelcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 2Server version: 5.5.15 MySQL Community Server (GPL)Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show database;ERROR 1064 (42000): You have an error in your SQL syntax; check the manual thatcorresponds to your MySQL server version for the right syntax to use near 'database' at line 1
2、查看数据库
mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || hibernate || hibernates || mysql || performance_schema || test || xqwy |+--------------------+7 rows in set (0.02 sec)
3、使用已经存在的数据库
mysql> use hibernate;Database changedmysql> show tables;+---------------------+| Tables_in_hibernate |+---------------------+| students || teacher |+---------------------+2 rows in set (0.05 sec)
4、创建名称为XuXuDan的表
mysql> create table XuXuDan(id int primary key auto_increment,name varchar(20),sex varchar(20),age int);
第二步、编写Modle类实现序列化接口类的成员变量和数据库的字段和数据类型一一对应代码如下
package com.ygc.hibernate.modle;import java.io.Serializable;import javax.persistence.Entity;import javax.persistence.Id;import javax.persistence.Table;@Entity@Table(name="XuXuDan") //注解说明表名public class XuXuDan implements Serializable {private int id;private String name;private String sex;private int age;//主键id@Idpublic 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 getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
第三步编写测试类代码如下
package com.ygc.hibernate.test;import org.hibernate.Session;import org.hibernate.SessionFactory;import com.ygc.hibernate.modle.XuXuDan;import com.ygc.hibernate.util.HibernateUtils;public class XuXuDanTest {/** * @param args */public static void main(String[] args) {XuXuDan xuDan = new XuXuDan();xuDan.setName("徐旭丹");xuDan.setSex("女");xuDan.setAge(24);SessionFactory sessionFactory = HibernateUtils.getHibernate().getSessionFactory();Session session= sessionFactory.openSession();session.beginTransaction();session.save(xuDan);session.getTransaction().commit();session.close();sessionFactory.close();}}
第四步编写获取SessionFactory的工具类
package com.ygc.hibernate.util;import org.hibernate.SessionFactory;import org.hibernate.cfg.AnnotationConfiguration;import org.hibernate.cfg.Configuration;public class HibernateUtils {static HibernateUtils instance;public static HibernateUtils getHibernate(){if(instance==null){instance = new HibernateUtils();}return instance;}public SessionFactory getSessionFactory(){Configuration configuration = new AnnotationConfiguration().configure();return configuration.buildSessionFactory();}}
第五步:添加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> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost/hibernate</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- JDBC connection pool (use the built-in) --> <!--<property name="connection.pool_size">1</property>--> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- Enable Hibernate's automatic session context management --> <!--<property name="current_session_context_class">thread</property>--> <!-- Disable the second-level cache --> <!--<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>--> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- <property name="hbm2ddl.auto">create-drop</property>--> <!-- Drop and re-create the database schema on startup --> <!--<property name="hbm2ddl.auto">update</property>--> <!--<mapping resource="com/ygc/hibernate/modle/Students.hbm.xml"/>--> <mapping class="com.ygc.hibernate.modle.XuXuDan"/> </session-factory></hibernate-configuration>
第六步:运行main方法查看测试结果
结果显示为:
mysql> select * from xuxudan;+----+--------+------+------+| id | name | sex | age |+----+--------+------+------+| 1 | 徐旭丹 | 女 | 24 |+----+--------+------+------+1 row in set (0.00 sec)
源代码下载:Demo下载
- hibernate 中的Annotation的使用
- hibernate--annotation的使用
- 浅谈hibernate annotation的使用
- hibernate Annotation标签的使用
- hibernate中的Annotation补充
- Hibernate annotation 使用简介
- Hibernate annotation 使用笔记
- hibernate Annotation 使用注意
- Hibernate annotation 使用笔记
- Hibernate annotation 使用笔记
- Hibernate Annotation使用
- annotation在Hibernate中的用法
- hibernate的Annotation配置
- Annotation版本的hibernate
- Hibernate 简单的annotation
- Hibernate的Annotation注解
- Hibernate的Annotation注解
- Hibernate的Annotation注解
- Sizeof与Strlen的区别与联系
- 详解sizeof和strlen
- C语言字符数组初始化
- iOS7中UITableView中cell的使用
- sizeof [字节对齐]
- hibernate 中的Annotation的使用
- HTML DOM
- block一点也不神秘————如何利用block进行回调
- 阿里云如何搭建Discuz
- CodeChef | September Challenge 2013 | To Queue or not to Queue
- 概念的理解-3
- error LNK2019: 无法解析的外部符号 _WinMain@16
- 初学者学数据结构(二)
- Microsoft的ODBC 开放式数据库连接(ODBC)与ADO对比