成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Hibernate結合MYSQL數據庫簡單教程

開發 后端
本文向您介紹在Eclipse中使用Hibernate結合MySQL數據庫開發的一個簡明教程。

在網上找了很多Hibernate的相關教程,大多數都是結合WEB服務器的,自己寫一個單獨的示例在Eclipse下直接運行,不需要自己寫ANT腳本,不需要結合web服務器。但是需要MYSQL數據庫-_-

首先要學會如何使用Eclipse,然后要下載Hibernate需要的所有JAR文件,最后安裝好MYSQL
準備開始!

第一步,我們要創建一個表 結構如下
  +-----------+--------------+------+-----+---------+----------------+
  | Field  | Type | Null | Key | Default | Extra  |
  +-----------+--------------+------+-----+---------+----------------+
| id| int(11)  | NO| MUL | NULL| auto_increment |
| title| varchar(400) | YES | | NULL||
| content | text | YES | | NULL||
| time  | datetime | YES | | NULL||
  +-----------+--------------+------+-----+---------+----------------+

第二步,在Eclipse中創建一個JAVA項目(我在項目中用到的包名是cn.com.nick.hbm)。編寫News.java類,這個類對應了數據庫中的表

   package cn.com.nick.hbm;
import java.util.Date;
public class News
{
private int id;
private String title;
private String content;
private Date date;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
public String getContent()
{
return content;
}
public void setContent(String content)
{
this.content = content;
}
public Date getDate()
{
return date;
}
public void setDate(Date date)
{
this.date = date;
}
}

第三步,配置對應關系 保存為News.hbm.xml文件 與News類在同一目錄下(并不是一定要在同一目錄下,為了方便暫時先放在這里)
   
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"










 

第四步,配置hibernate.cfg.xml 注意這個名字不能改,并且要放到SRC的跟路徑下(這里要注意,如果放錯地方示例中的方法是找不到這個文件的)
    
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"
true

com.mysql.jdbc.Driver

thread

jdbc:mysql://localhost:3306/test

root
123

org.hibernate.dialect.MySQLDialect

my

最后創建一個測試類 Test.java 代碼如下,里邊有注釋說明
package cn.com.nick.hbm;
import java.util.Date;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
public class Test
{
private static final SessionFactory sessionFactory;
static
{
try
{
// 這里創建了SessionFactory 將hibernate.cfg.xml文件放到SRC的跟路徑下
// Hibernate會自己找到
sessionFactory = new Configuration().configure()
  .buildSessionFactory();
} catch (Throwable ex)
{
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory()
{
return sessionFactory;
}
public static void main(String[] args)
{
// 實例化一個新的News對象,并填充內容
News news = new News();
news.setTitle("測試標題");
news.setContent("添加測試內容");
news.setDate(new Date());
Test t = new Test();
// 調用Test類下的存儲方法,相當于執行INSERT語句
// t.Save(news);
// 調用查詢方法,顯示數據庫的內容
t.select();
// 調用更新方法
// t.update();
// 調用刪除
// t.delete();
}
/**
* 一個簡單的添加數據方法
* @param news news對象,這個對象將被添加到庫中
*/
public void Save(News news)
{
try
{
//獲取hibernate的session
Session session = Test.getSessionFactory().getCurrentSession();
session.beginTransaction();
//這里只需要調用save方法把news對象傳進去就插入成功了!
session.save(news);
session.getTransaction().commit();
} catch (HibernateException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 查詢方法
*/
public void select()
{
try
{
Session session = Test.getSessionFactory().getCurrentSession();
session.beginTransaction();
//注意!!!這里的 News 不是表名稱! 是對象名所以要注意大小寫
String sql=" from News";
//帶條件的查詢
//String sql="from News where id=1";
//用session.createQuery()執行HQL查詢語句
List l = session.createQuery(sql).list();
//在控制臺循環輸出
for (News n : l)
{
 System.out.println(n.getId());
 System.out.println(n.getTitle());
 System.out.println(n.getContent());
 System.out.println(n.getDate());
 System.out.println("==============");
}
session.getTransaction().commit();
} catch (HibernateException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 更新方法
*/
public void update()
{
try
{
Session session = Test.getSessionFactory().getCurrentSession();
session.beginTransaction();
//定義了要裝載對象的ID
Integer id = 1;
//用load方法裝載一個對象進來
News n = (News) session.load(News.class, new Integer(id));
//重新設置這個對象的標題
n.setTitle("更新后標題");
//用update方法更新這個對象
session.update(n);
session.getTransaction().commit();
} catch (HibernateException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void delete()
{
try
{
Session session = Test.getSessionFactory().getCurrentSession();
session.beginTransaction();
//定義了要裝載對象的ID
Integer id = 6;
//用load方法裝載一個對象進來
News n = (News) session.load(News.class, new Integer(id));
//用delete方法刪除這個對象
session.delete(n);
session.getTransaction().commit();
} catch (HibernateException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


好啦,直接運行Test類看一下效果吧!

您正在閱讀: Hibernate結合MYSQL數據庫簡單教程

【編輯推薦】

  1. Hibernate單元測試的方法:HSQLDB
  2. Hibernate的兩種配置文件格式
  3. Hibernate/JPA成功使用的十點心得
責任編輯:張攀 來源: 百度空間
相關推薦

2011-03-21 17:00:23

MySQL數據庫

2009-09-24 14:12:22

Hibernate數據

2009-09-25 13:18:15

Hibernate數據

2011-08-30 12:59:52

Qt數據庫

2009-09-29 14:03:14

Hibernate數據

2010-06-04 09:58:03

MySQL數據庫備份

2010-06-09 11:32:51

MySQL數據庫備份

2009-06-24 07:53:47

Hibernate數據

2009-09-24 13:17:37

Hibernate類庫

2009-07-02 09:35:02

hibernate訪問

2010-05-14 11:04:17

連接MySQL

2011-04-06 09:09:17

MySQL數據庫備份

2019-01-02 09:30:59

MySQL數據庫日志審計

2025-04-09 11:35:00

MySQL數據庫監控

2009-06-24 07:58:52

Hibernate多數

2017-05-23 14:56:49

MySQLvsftpd虛擬用戶

2009-09-28 13:33:48

Hibernate訪問

2018-01-04 10:43:43

OracleMysqlJava

2010-05-27 14:55:40

簡單備份MySQL

2010-05-17 10:24:44

MySQL數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品片aa在线观看 | 日本黄色一级视频 | 精品免费在线 | 草久久 | 久久91精品 | 国产精品美女久久久久久免费 | 亚洲高清视频一区二区 | 亚洲av毛片 | 国产精品久久福利 | 欧美激情视频一区二区三区免费 | 国产成人精品免费视频大全最热 | 在线观看电影av | 欧美精品网 | 久久草在线视频 | 波多野吉衣久久 | 婷婷99 | 美女福利网站 | 人人人人人爽 | 欧美性成人 | 视频一二区 | 日韩欧美一区二区三区免费观看 | 免费在线成人网 | av日日操| 成年人黄色一级片 | 中文字幕一区在线观看视频 | 欧美二区三区 | 亚洲一区二区久久 | 欧美4p | 国产午夜精品一区二区三区嫩草 | 成年人黄色一级片 | 欧美午夜在线 | 亚洲视频在线看 | 一区二区视频在线观看 | 亚洲天堂精品久久 | 男女免费观看在线爽爽爽视频 | 在线视频一区二区三区 | 成人a在线 | 成人免费在线观看 | 午夜一区二区三区在线观看 | 一级欧美一级日韩片免费观看 | 97成人精品|