true
com.mysql.jdbc.Driver
thread
jdbc:mysql://localhost:3306/test
root
123
org.hibernate.dialect.MySQLDialect
my
最后創(chuàng)建一個測試類 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
{
// 這里創(chuàng)建了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對象,并填充內(nèi)容
News news = new News();
news.setTitle("測試標題");
news.setContent("添加測試內(nèi)容");
news.setDate(new Date());
Test t = new Test();
// 調(diào)用Test類下的存儲方法,相當于執(zhí)行INSERT語句
// t.Save(news);
// 調(diào)用查詢方法,顯示數(shù)據(jù)庫的內(nèi)容
t.select();
// 調(diào)用更新方法
// t.update();
// 調(diào)用刪除
// t.delete();
}
/**
* 一個簡單的添加數(shù)據(jù)方法
* @param news news對象,這個對象將被添加到庫中
*/
public void Save(News news)
{
try
{
//獲取hibernate的session
Session session = Test.getSessionFactory().getCurrentSession();
session.beginTransaction();
//這里只需要調(diào)用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()執(zhí)行HQL查詢語句
List l = session.createQuery(sql).list();
//在控制臺循環(huán)輸出
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));
//重新設(shè)置這個對象的標題
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();
}
}
}