Struts+hibernate应用实现页面操作数据库

在Struts+hibernate框架的结合应用中,这两种框架本身提供了操作的思路和对Java J2EE原先一些对servlet,bean的应用的简化和封装。

整合Struts和hibernate,基本思路就是把MVC中的Model模型部分使用hibernate来做:
这里写图片描述

这里先说一下POJO的简单概念:
POJO的名称有多种,pure old java object 、plain ordinary java object 等。
按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的java对象”,但大家都使用“简单java对象”来称呼它。
POJO的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。

解释一下上面这个图的涵义:
Struts实现控制层,分别连接model层和view层,view层的实现方法可以通过JSP实现,或者像hibernate+spring框架那样使用html+javascript实现也可以,至于model层,可以直接使用hibernate或者mybatis框架。

下面直接给最终的实现页面和源码:
这里写图片描述
最终效果图如上:提供三个连接可以进行修改,删除,和编辑,并且在提交操作后立刻刷新查询页面。

运行环境:eclipse;
数据库:MySQL;
引用包(jar):Struts+hibernate,具体版本省略

首先看M层(Model层)的hibernate框架怎么实现:
1、 先创建个数据库:
Creat database freestyle;
2、 接下来创建pojo,也就是实体类对象product.java:
Product有id,name,price3个字段:

product.java:

package com.how2java.pojo;

public class Product {

    private int id;
    private String name;
    private float price;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getPrice() {
        return price;
    }
    public void setPrice(float price) {
        this.price = price;
    }

}
//如上,实体类的三个属性及其setter,getter方法;

接下来,处理hibernate框架两个核心问题:映射和数据库连接配置:
映射Product类对应数据库freestyle中的product_表,这个表不必自己创建,因为hibernate框架在设置了updata后会自己创建该表。
映射表:

Product.hbm.xml:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="com.how2java.pojo">
    <class name="Product" table="product_">
        <id name="id" column="id">
            <generator class="native">
            </generator>
        </id>
        <property name="name" />
        <property name="price" />
    </class>

</hibernate-mapping>

数据库配置文件:
hibernate.cfg.xml:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
       "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>
        <!-- Database connection settings -->
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/freestyle?characterEncoding=GBK</property>
        <property name="connection.username">root</property>
        <property name="connection.password">123456</property>
        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="current_session_context_class">
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值