Chinaunix首页 | 论坛 | 博客
  • 博客访问: 353081
  • 博文数量: 88
  • 博客积分: 1673
  • 博客等级: 上尉
  • 技术积分: 934
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-20 13:51
文章分类

全部博文(88)

文章存档

2016年(1)

2015年(4)

2014年(3)

2013年(7)

2012年(11)

2011年(1)

2009年(61)

我的朋友

分类: Java

2009-06-10 10:52:35

hibernate最基本的数据库连接,使用mysql。

见一个java工程,见一个包名为“book”,

在book的包下加一个java类Book.java,其代码如下:

package book;

public class Book {
 private Integer id;
 
 private String name;
 
 private String writer;

 public Integer getId() {
  return id;
 }

 public void setId(Integer id) {
  this.id = id;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public String getWriter() {
  return writer;
 }

 public void setWriter(String writer) {
  this.writer = writer;
 }
 
 

}

然后在book包下建一个book.hbm.xml,其代码如下:


  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "">
 default-lazy="false">
 
 
 
 

 
 
 


这个事与数据库里面的字段名形成映射关系,自己在mysql建立book表时与之对应,id是自增长的,

然后在工程的根目录下建一个hibernate.cfg.xml.其代码如下:


  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "">


 
 com.mysql.jdbc.Driver
 jdbc:mysql://localhost/mydb
  root
  root
  org.hibernate.dialect.MySQLDialect
  true


 

 



这是连接mysql数据库的,用户名和密码改为你mysql数据库的

true这是在后台打印sql语句

这是找到映射文件。

然后些个测试类:代码如下:

package test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import book.Book;

public class MainTest {

 /**
  * @param args
  */
 


 public static void main(String[] args) {
 try {
  Configuration cfg=new Configuration().configure();
  SessionFactory sf=cfg.buildSessionFactory();
  Session session = sf.openSession();
  Transaction ts=session.beginTransaction();
  Book b=new Book();
  b.setName("hibernate");
  b.setWriter("div");
  session.save(b);
  
// Book b=(Book) session.get(Book.class,1);
// if(b!=null){
// b.setName("xujun");
// System.out.println("书名为:"+b.getName());
// System.out.println("作者为:"+b.getWriter());
// session.delete(b);
// }
  
  ts.commit();
  session.close();
  sf.close();
  
 } catch (Exception e) {
  e.printStackTrace();
 }

 }

}

mysql表的字段如下:


把数据库建好后就可以测试。



阅读(351) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~