Hibernate与Spring整合的两种方法(1)

 

   如何将Hibernate整合到Spring中去,在实践中我总结出来了以下两种方法,下面用示例演示一下,在进行整合之前,我们先要写一个简单的Hibernate操作数据库小程序,由于Hibernate不是这篇文章的重点,我只作一些简要的说明.

   我们使用的数据库为MYSQL5,首先在里面建立一个数据库

SQL:       create database mydb;

然后再建立一个表

SQL:       create table user(

                     username char(30),

                     password char(30) not null,

                     primary key(username)

              );

这样的话我们的数据库就建立起来了.

下面开始篇写我们的示例程序,eclipse里面建立一个JAVA工程项目,Hibernate数据库连接配置文件放到src下面,

hibernate.cfg.xml内容如下:

<?xml version='1.0' encoding='UTF-8'?>

<!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="dialect">

           org.hibernate.dialect.MySQLDialect

           </property>

       <property name="connection.url">

           jdbc:mysql://127.0.0.1:3306/mydb

       </property>

       <property name="connection.username">root</property>

       <property name="connection.password">123456</property>

       <property name="connection.driver_class">

           com.mysql.jdbc.Driver

       </property>

       <property name="myeclipse.connection.profile">

           employdb

       </property>

       <mapping resource="com/srcopen/model/User.hbm.xml" />

    </session-factory>

</hibernate-configuration>

 

数据库表user对应的POJO,com.srcopen.model上编写User,代码如下:

package com.srcopen.model;

 

public class User{

  

    private String username;

    private String password;

    public User() {

    }

    public User(String username, String password) {

        this.username = username;

        this.password = password;

    }

    public String getUsername() {

        return this.username;

    }   

    public void setUsername(String username) {

        this.username = username;

    }

    public String getPassword() {

        return this.password;

    }  

    public void setPassword(String password) {

        this.password = password;

    }

}

User.java对应的射应文件User.hbm.xml,也放在包com.srcopen.model,示例代码如下:

<?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>

    <class name="com.srcopen.model.User" table="user" catalog="mydb">

        <id name="username" type="java.lang.String">

            <column name="username" length="30" />

            <generator class="assigned" />

        </id>

        <property name="password" type="java.lang.String">

            <column name="password" length="30" not-null="true" />

        </property>

    </class>

</hibernate-mapping>

之后我们还要编写一个UserDao.java来实现对数据库的操作,同样它也是放在com.srcopen.model,只一个方法save(User user),示例代码如下:

package com.srcopen.model;

 

import org.hibernate.Session;

import org.hibernate.Transaction;

 

public class UserDao {

    public void save(User user){

       Session session=HibernateSessionFactory.getSession();

       Transaction t=session.beginTransaction();

       t.begin();

       session.save(user);

       t.commit();

       HibernateSessionFactory.closeSession();

    }

}

好了,我们再写一个测试程序测试一下是否可以真的写进数据库中去,这里只简单地写一下,我就不用JUNIT,呵呵~~~(为了区别一下,放在包com.srcopen.test)

package com.srcopen.test;

import com.srcopen.model.User;

import com.srcopen.model.UserDao;

 

public class UserTest {

    public static void main(String[] args) {

       System.out.println("Test...");

       User user=new User();

       user.setUsername("ning");

       user.setPassword("123456");

       UserDao dao=new UserDao();

       dao.save(user);

    }

}

运行之后,我们将会在user表里面看到多了一条记录,用户名为ning, 密码为123456,好了,准备工作做好了,下面我们尝试着将Hibernate整合到Spring中去了.我将会在HibernateSpring整合的两种方法(2)详细做一个介绍.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值