首页 > 其他 > 详细

SHH框架的配置—— 使用IDEA开发工具

时间:2021-05-24 23:06:59      阅读:23      评论:0      收藏:0      [点我收藏+]

SHH框架的基础配置

一、SHH框架的介绍

SSH是 struts+spring+hibernate的一个集成框架,是16年之前较为流行的一种Web应用程序开源框架,因为是非常老的技术了,所以现在大部分公司的新项目都不会

再使用此框架了。由于学校的javaee课程有要求学习这个框架,所以在这记录一下SHH框架的搭建过程。

集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,

负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。

1.Hibernate

Hibernate,是负责了跟数据库的交接。通过持久化数据对象,进行对象关系的映射,并以对象的角度来访问数据库,对JDBC进行了封装。通过hibernate.cfg.xml文.件来配置与数据库的连接,类对应的hbm.xml文

件来与数据库的具体表进行映射。并且Hibernate有自己的HQL语句,与数据库的SQL语句相似,但不同的是HQL语句在面向对象编程的角度上,通过Session的createQuery方

法创建户一个query对象,由这个对象来完成对数据库的增删改查等操作

2.Struts

Struts与SSH框架-样同样具有开源性,合理恰当的使用Struts技术可以在一定程度上减少基于MVC模型的Web应用系统的开发时间,从而有效控制系统开发成本。事实上,绝大多数程序员在使用Servlet和JSP的可

扩展的应用时已经将Struts框架技术作为系统开发的标准。

Struts技术基于MVC框架,Struts的实现依赖Servlet和JSP实现。EJB和JavaBean两个组件是Struts框架业务功能实现的基础部件;Action和ActionServlet部件是框架实现控制力能的重要部件;视图部分主要是交互界

面,主要由jsp和html界面构成。

3.Spring

Spring的核心功能则是控制反转(IOC)和面向切面编程(AOP)。使用Spring,意味着一个对象的创建再也不是自己new出来的,而是全权交给了IOC容器去实例化。与此同时,Spring通过采用依赖注入(DI)

的方式,通过属性的Setter和Getter方法或者构造方法来注入这个对象的属性,这样的好处就是不完全依赖于容器的API,且查询依赖与代码实现了解耦。而AOP,则是将应用的业务逻辑和系统级服务(例如事

务)分离开来,进行内聚性的开发,应用对象只负责完成业务逻辑而不关心日志或者事务的处理。

 

二、Hibernate的配置

 

1.导入Hibernate的核心组件包

这里我们使用maven包管理工具来管理项目的jar包,在maven中添加如下代码

<dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.3.2.Final</version>
        </dependency>
</dependencies>

由于只用到Hibernate原生的功能,所以只导入一个核心jar包足矣

maven下载的Hibernate包如下图所示

技术分享图片

本次使用的数据库是mysql数据库

 

 

 由于和数据库连接必须用到JDBC,所以我们要导入和数据库连接的工具包

在maven中添加如下代码

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.20</version>
 </dependency>

这里使用的是8.0.20版本的jar包

 

2.配置Hibernate的配置文件hibernate.cfg.xml

在项目的src目录下创建hibernate.cfg.xml文件

初步的文件配置如下

<?xml version=‘1.0‘ encoding=‘utf-8‘?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <!--方言配置-->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</property>
        <!--数据库配置-->
        <property name="connection.url">jdbc:mysql://localhost:3306/mydb?serverTimezone=UTC&amp;useSSL=false&amp;characterEncoding=utf8</property>
        <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
        <property name="connection.username">root</property>
        <property name="connection.password">123</property>
        <!--显示数据库的操作语句-->
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>

        
    </session-factory>
</hibernate-configuration>

其中方言配置要和你的数据库连接工具包版本对上,如果用的是8.0版本就用mysql8的方言,5.0版本就用MySQL5Dialect

数据库配置这块,URL是连接数据库的地址,3306是mysql的默认端口,后面的mydb是数据库名,后面是配置的参数。如果是8.0版本,必须要设定时区,加上serverTimezone=UTC。编码集

的配置要和数据库表的配置相同。比如我的数据库是utf-8的编码集,就配置characterEncoding=utf8。

driver_class是数据库驱动配置,8.0版本是com.mysql.cj.jdbc.Driver,5.0版本是com.mysql.jdbc.Driver。username和password是配置连接数据库的账号密码。

show_sql设置为开,可以显示执行的hql语句。

3.创建实体类

在项目的根目录下创建bean包,本包下放置所有的实体类,实体类主要用于对数据库表内容的映射。

这里说一下怎么用idea自动创建实体类和对应的数据库映射配置文件。

技术分享图片

 

 

 点击右侧的Database

技术分享图片

 

 

 选择你的数据库种类,这里选择mysql

技术分享图片

 

 

 输入数据库名,用户名和密码后点击test connection测试连接

技术分享图片

 

 

 显示Successful说明成功,点击apply和确定进行连接

技术分享图片

 

 

 连接成功后是这样的

接下来生成实体类和映射配置文件

技术分享图片

 

 

 点击idea左下角的Persistence

技术分享图片

 

 

 右键,选择最后一个

技术分享图片

 

 

 选择导入的数据库,生成文件的位置,和需要生成的表,配置如图所示,点击确定。

技术分享图片

 

 

 自动生成完毕

 

关于映射配置文件的配置,其中一个映射文件配置如下

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

    <class name="Pro456.bean.Customer" table="customer" schema="mydb">
        <id name="id" column="Id">
            <generator class="native"/>
        </id>
        <property name="idCard" column="IdCard"/>
        <property name="name" column="Name"/>
        <property name="phone" column="Phone"/>
        <property name="birthday" column="Birthday"/>
    </class>

</hibernate-mapping>

name是类的具体位置和名称,table代表映射的表名,schema是连接数据库的名称,接下来就是实体类属性和数据库表字段的一一映射。id为表的主键,配置generator属性为native是为了插入数据时候按

数据库本身的配置的来,比如mysql里就会自动递增主键。

 

SHH框架的配置—— 使用IDEA开发工具

原文:https://www.cnblogs.com/TidalCoast1034/p/14806093.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!