idea 结合maven开发hibernate实例

    intellij idea编辑器是我刚刚接触了两个星期左右的开发工具,说实话这个开发工具很强大,集成了很多功能,估计要花一段较长时间才能基本上掌握它的功能,其中它集成了maven这个插件,现在它是很火的管理JavaEE项目的框架,我是刚刚接触很多东西还不是很懂,不过学了一点知道这个框架确实牛逼,管理方便,打包也方便。建议学JavaWEB和JavaEE的IT从事者学学它,因为现在很多公司都已经用到了这个maven的框架了。我用idea结合maven开发hibernate遇到了bug个,由于我是初用idea,初学maven和hibernate,被这个bug搞了两天后才解决,这过程寻求了三位师兄都没解决,被网上的同行网友给解决,在这里我非常的谢谢他,也谢谢其中一位帮我和指导我的同行网友。好了现在我就结合bug说一下用idea14.0.2结合maven3.0开发hibernate3.0的入门级例子吧。

步骤:

1建立maven项目:

idea 结合maven开发hibernate实例_第1张图片

idea 结合maven开发hibernate实例_第2张图片

idea 结合maven开发hibernate实例_第3张图片

idea 结合maven开发hibernate实例_第4张图片

idea 结合maven开发hibernate实例_第5张图片

到这里一个maven的项目建好了现在是已引入hibernate相关包了。

2首先该项目会自动创建pom.xml文件,只要你在这文件配置,就可以自动的引入对应版本的jar包了。以下是hibernate的pom.xml配置:


  4.0.0

  com.scau.beyondboy
  Hibernate
  1.0-SNAPSHOT
  jar

  Hibernate
  http://maven.apache.org

  
    UTF-8
  

  
    
      junit
      junit
      3.8.1
      test
    
    
    
      org.hibernate
      hibernate-core
      3.6.0.Final
    

    
    
      log4j
      log4j
      1.2.16
    

    
      org.slf4j
      slf4j-api
      1.6.1
    

    
      org.slf4j
      slf4j-nop
      1.6.4
    

    
    
      javassist
      javassist
      3.11.0.GA
    
    
      mysql
      mysql-connector-java
      5.1.17
    
    
      org.slf4j
      slf4j-nop
      1.6.4
    
  


配置完后,Maven的侧栏会出现很多jar包,如图:

idea 结合maven开发hibernate实例_第6张图片

3创建文件和选择hibernate框架如图:

idea 结合maven开发hibernate实例_第7张图片

idea 结合maven开发hibernate实例_第8张图片

idea 结合maven开发hibernate实例_第9张图片

idea 结合maven开发hibernate实例_第10张图片

idea 结合maven开发hibernate实例_第11张图片

4相关配置和类的代码:

hibernate.cfg.xml的配置:




  
      
      com.mysql.jdbc.Driver
      
      jdbc:mysql://localhost/hibernate
      
      root
      
      32147
      
      20
      
      1
      
      5000
      
      100
      3000
      2
      true
      
      org.hibernate.dialect.MySQLDialect
      
      update
      
      true
      
      true
      
  
现在main/resources下创建com.scau.beyondboy.domain的这四个文件夹,然后在创建News.hbm.xml,该代码:






	
	
		
		
			
		
		
		
		
		
		 
	

持久化对象放在main/java/com/scau/beyondboy/domain下,该News类的代码:

package com.scau.beyondboy.domain;


public class News
{
	//消息类的标识属性
	private Integer id;
	//消息标题
	private String title;
	//消息内容
	private String content;
	//消息全部内容,由系统根据公式生成
	private String fullContent;

	//id属性的setter和getter方法
	public void setId(Integer id)
	{
		this.id = id;
	}
	public Integer getId()
	{
		return this.id;
	}

	//title属性的setter和getter方法
	public void setTitle(String title)
	{
		this.title = title;
	}
	public String getTitle()
	{
		return this.title;
	}

	//content属性的setter和getter方法
	public void setContent(String content)
	{
		this.content = content;
	}
	public String getContent()
	{
		return this.content;
	}

	//fullContent属性的setter和getter方法
	public void setFullContent(String fullContent)
	{
		this.fullContent = fullContent;
	}
	public String getFullContent()
	{
		return this.fullContent;
	}
}
生成操作工厂的类是放在main/java下,该NewsManager类的代码:

import com.scau.beyondboy.domain.News;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;


public class NewsManager
{
	public static void main(String[] args) throws Exception
	{
		//实例化Configuration,这行代码默认加载hibernate.cfg.xml文件
		Configuration conf = new Configuration().configure();
		//以Configuration创建SessionFactory
		SessionFactory sf = conf.buildSessionFactory();
		//实例化Session
		Session sess = sf.openSession();
		//开始事务
		Transaction tx = sess.beginTransaction();
		//创建消息实例
		News n = new News();
		//设置消息标题和消息内容
		n.setTitle("scau");
		n.setContent("beyondboy");
		//保存消息
		sess.save(n);
		/*News n2 = (News) sess.get(News.class, 1);
		//输出fullContent属性值
		System.out.println(n2.getFullContent());*/
		//提交事务
		tx.commit();
		//关闭Session
		sess.close();
	}
}
5: 配置数据库:

idea 结合maven开发hibernate实例_第12张图片

idea 结合maven开发hibernate实例_第13张图片

6最后一步编译执行:

idea 结合maven开发hibernate实例_第14张图片

idea 结合maven开发hibernate实例_第15张图片


到这里,基本步骤做完了,一下是测试结果图:

idea 结合maven开发hibernate实例_第16张图片

说完了这些,我就说说我遇到了一个非常细小的bug,搞了我两天才解决,以下是错误hibernate.cfg.xml配置和错误运行:






    
        
        com.mysql.jdbc.Driver
        jdbc:mysql://localhost:3306/hibernate
        root
        32147
        
        org.hibernate.dialect.MySQLInnoDBDialect
        update
        true
        true
        
        
        
    

idea 结合maven开发hibernate实例_第17张图片

后来一位同行网友指出是以下方言的配置错了:

 org.hibernate.dialect.MySQLInnoDBDialect

改为:

       org.hibernate.dialect.MySQLDialect
就不会有错了,在这里我真很感谢那位It网友,要不是他我到现在还不知道错在哪里。










你可能感兴趣的:(JavaEE,idea使用maven,idea开发hibernate,Intellij,开发hibernate,maven的初级使用)