Rumah >pangkalan data >tutorial mysql >hibernate如何连接mysql数据库?

hibernate如何连接mysql数据库?

黄舟
黄舟asal
2017-08-08 15:10:502458semak imbas

教大家如何把hibernate连接mysql数据库,只要大家跟着我下面的步骤走,就绝对没有问题的。代码都是可以直接用到或者复制的。

0.png

1.首先,我们把hibernate最基本的数据库连接,使用mysql。 见一个java工程,见一个包名为book, 在book的包下加一个java类Book.java,其代码如下:

package book; public class Book { private Integer id; private String name; private String writer; 
public Integer get hibernate

最基本的数据库连接,使用mysql。    见一个java工程,见一个包名为“book”

1.png

2.然后在在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;    
 }    
 }

2.png

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

<?xml version="1.0"?>    
<!DOCTYPE hibernate-mapping PUBLIC    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">    
<hibernate-mapping package="book"    default-lazy="false">    
<class name="Book">    
<id name="id">    
<generator class="increment"/>    
</id>    
<property name="name" ></property>    
<property name="writer" ></property>    
</class>    
</hibernate-mapping>

3.png

4.这个事与数据库里面的字段名形成映射关系,自己在mysql建立book表时与之对应,id是自增长的,    然后在工程的根目录下建一个hibernate.cfg.xml.其代码如下:

 <?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39;?>    
 <!DOCTYPE hibernate-configuration PUBLIC    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"    
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">    
 <hibernate-configuration>    
 <session-factory>    
 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>    
 <property name="connection.url">jdbc:mysql://localhost/mydb</property>    
 <property name="connection.username">root</property>    
 <property name="connection.password">root</property>    
 <property name="dialect">org.hibernate.dialect.MySQLDialect</property>    
 <property name="show_sql">true</property>    
 <!-- <property name="hbm2ddl.auto">${hibernate.hbm2ddl.auto}</property>-->    
 <!-- <property name="current_session_context_class">thread</property>-->    
 <mapping resource="book/Book.hbm.xml" />    
 </session-factory>    
 </hibernate-configuration>

4.png

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

<property name="show_sql">true</property>这是在后台打印sql语句    
<mapping resource="book/Book.hbm.xml" />这是找到映射文件。

5.png

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

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();    
   }    
   }    
   }

6.png

7.mysql表的字段如下:

7.png

8.把数据库建好后就可以测试。对了,关键的还没有说,还得把antlr.jar,cglib.jar,asm.jar,asm-attrs.jar,commons-colletions.jar,commons-logging.jar,ehcache.jar,    jta.jar,dom4.jar,log4.jar,hibernate3.jar引入到lib目录下

8.png

Atas ialah kandungan terperinci hibernate如何连接mysql数据库?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn