maven、hibernate连接mysql实例框架

本文介绍了如何使用Maven构建一个使用Hibernate和Log4j的框架,包括设置数据库连接、配置类表文件和日志文件,以及编写测试代码。详细步骤包括创建MySQL数据库、表,新建Maven工程,添加依赖,配置文件,最终实现框架的搭建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先进行总结一下,本例子就是利用maven来创建hibernate的框架,其中用到了比较常见的hibernate和log4j的两个jar包。后台数据库用的是mysql。

新建工程的大概过程如下:

新建一个mysql数据库、表,插入测试数据-》新建一个Maven工程-》添加pom.xml依赖-》配置数据库文件、类表文件和log4j文件-》编写测试代码即可。

1、文件目录结构

1

2、pom.xml

代码 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>com.test.pro</groupId>
  <artifactId>maven</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
 
  <name>maven</name>
  <url>http://maven.apache.org</url>
 
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
 
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
  <groupId>commons-configuration</groupId>
  <artifactId>commons-configuration</artifactId>
  <version>1.9</version>
</dependency>
<!-- commons-configuration 自动加载的是2.1的版本,编译时会报错,所以再加上这个 -->
<dependency>
  <groupId>commons-lang</groupId>
  <artifactId>commons-lang</artifactId>
  <version>2.6</version>
</dependency>
 
<dependency>  
        <groupId>org.hibernate</groupId>  
        <artifactId>hibernate-core</artifactId>  
        <version>3.6.5.Final</version>  
    </dependency>  
    <!-- 添加javassist -->  
    <dependency>  
        <groupId>javassist</groupId>  
        <artifactId>javassist</artifactId>  
        <version>3.11.0.GA</version>  
    </dependency>  
    <!-- 添加Log4J依赖 -->  
    <dependency>  
        <groupId>log4j</groupId>  
        <artifactId>log4j</artifactId>  
        <version>1.2.16</version>  
    </dependency>  
 
    <dependency>  
      <groupId>org.slf4j</groupId>  
      <artifactId>slf4j-api</artifactId>  
      <version>1.6.1</version>  
    </dependency>  
 
    <dependency>  
        <groupId>org.slf4j</groupId>  
        <artifactId>slf4j-nop</artifactId>  
        <version>1.6.4</version>  
    </dependency>  
 
    <!-- MySQL database driver -->
  <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.9</version>
  </dependency>
 
  </dependencies>
 
</project>

pom文件是非常关键的一个文件,里面指明了所有我们会用到的依赖项。其中几个关键的依赖项是:rg.hibernate、log4j、mysql这三个。

2、hibernate.cfg.xml

代码 
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration
  PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 
<hibernate-configuration>
  <session-factory >
 
    <!-- local connection properties -->
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mydb</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">123456</property>
    <!-- property name="hibernate.connection.pool_size"></property -->
 
    <!-- dialect for MySQL -->
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
 
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
     <mapping resource="Person.hbm.xml"/>
  </session-factory>
</hibernate-configuration>

这个文件是指明了Java连接数据库需要的一些配置参数。

3、数据库表结构

2

这是我们例子的mysql的数据库以及表的结构,里面有一些测试数据,数据库的信息就是我们在第二步配置过的那些参数。

4、log4j.properties

代码 
log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n 
 
log4j.rootLogger=debug, stdout 
 
log4j.logger.org.hibernate.tool.hbm2ddl=debug

其实这个文件对于我们学习hibernate可有可无,但是为了方便,就也放上来讲解,增加一些知识嘛。

5、SessionUtil.java

代码 
package com.test.utils;
 
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
 
public class SessionUtil {
  public static Session getSession()
  {
    SessionFactory sf = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
        Session session = sf.openSession();
        return session;
  }
 
}

这个文件是用来读取配置,并且初始化session的会话

6、测试代码

代码 
package com.test.pro.maven;
 
import java.util.List;
 
import org.apache.log4j.Logger;
import org.hibernate.Session;
 
import com.test.model.Person;
import com.test.utils.SessionUtil;
 
 
public class Test {
 
  /**
   * @param args
   */
  private static final Logger logger = Logger.getLogger(Test.class); 
  public static void main(String[] args) {
 
     Session session = SessionUtil.getSession();
  org.hibernate.Transaction tx =  session.beginTransaction();
 
  String hql="from Person person";
  List list= session.createQuery(hql).list();
  for(int i=0;i<list.size();i++)
  {
        	 Person obj=(Person)list.get(i);  
        	 System.out.println(obj.getName());
  }
 
  logger.debug("mes!");
 
  }
 
}

7、输出结果

4

8、工程源码下载地址

http://www.itbuluoge.com/chat/?/article/7

关键词:hibernate log4j maven

文章来自IT部落格,http://www.itbuluoge.com,版权所有,转载请注明出处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值