IDEA 整合 Struts2 + hibernate的demo

struts2和hibernate整合的示例工程(IDEA环境下) IDEA环境下的struts2 和 hibernate整合的示例工程,网上找到的大多是在eclipse环境下 立即下载

1、新建项目:

 

 

 

 

2、添加Jar包:

在pom.xml中:

  <dependencies>

   

    <!--Struts核心Jar包-->

    <!-- https://mvnrepository.com/artifact/asm/asm -->

    <dependency>

      <groupId>asm</groupId>

      <artifactId>asm</artifactId>

      <version>3.3</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/asm/asm-commons -->

    <dependency>

      <groupId>asm</groupId>

      <artifactId>asm-commons</artifactId>

      <version>3.3</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/asm/asm-tree -->

    <dependency>

      <groupId>asm</groupId>

      <artifactId>asm-tree</artifactId>

      <version>3.3</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->

    <dependency>

      <groupId>commons-fileupload</groupId>

      <artifactId>commons-fileupload</artifactId>

      <version>1.2.2</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->

    <dependency>

      <groupId>commons-io</groupId>

      <artifactId>commons-io</artifactId>

      <version>2.0.1</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->

    <dependency>

      <groupId>org.apache.commons</groupId>

      <artifactId>commons-lang3</artifactId>

      <version>3.1</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->

    <dependency>

      <groupId>org.freemarker</groupId>

      <artifactId>freemarker</artifactId>

      <version>2.3.19</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/javassist/javassist -->

    <dependency>

      <groupId>javassist</groupId>

      <artifactId>javassist</artifactId>

      <version>3.11.0.GA</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/ognl/ognl -->

    <dependency>

      <groupId>ognl</groupId>

      <artifactId>ognl</artifactId>

      <version>3.0.5</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.apache.struts/struts2-core -->

    <dependency>

      <groupId>org.apache.struts</groupId>

      <artifactId>struts2-core</artifactId>

      <version>2.3.4</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.apache.struts.xwork/xwork-core -->

    <dependency>

      <groupId>org.apache.struts.xwork</groupId>

      <artifactId>xwork-core</artifactId>

      <version>2.3.4</version>

    </dependency>

 

    <!--hibernate核心包-->

    <!-- https://mvnrepository.com/artifact/antlr/antlr -->

    <dependency>

      <groupId>antlr</groupId>

      <artifactId>antlr</artifactId>

      <version>2.7.7</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->

    <dependency>

      <groupId>dom4j</groupId>

      <artifactId>dom4j</artifactId>

      <version>1.6.1</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.hibernate.common/hibernate-commons-annotations -->

    <dependency>

      <groupId>org.hibernate.common</groupId>

      <artifactId>hibernate-commons-annotations</artifactId>

      <version>5.0.2.Final</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->

    <dependency>

      <groupId>org.hibernate</groupId>

      <artifactId>hibernate-core</artifactId>

      <version>5.2.10.Final</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.hibernate.javax.persistence/hibernate-jpa-2.0-api -->

    <dependency>

      <groupId>org.hibernate.javax.persistence</groupId>

      <artifactId>hibernate-jpa-2.0-api</artifactId>

      <version>1.0.1.Final</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.javassist/javassist -->

    <dependency>

      <groupId>org.javassist</groupId>

      <artifactId>javassist</artifactId>

      <version>3.15.0-GA</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.jboss.logging/jboss-logging -->

    <dependency>

      <groupId>org.jboss.logging</groupId>

      <artifactId>jboss-logging</artifactId>

      <version>3.3.0.Final</version>

    </dependency>

 

    <!-- https://mvnrepository.com/artifact/org.jboss.spec.javax.transaction/jboss-transaction-api_1.1_spec -->

    <dependency>

      <groupId>org.jboss.spec.javax.transaction</groupId>

      <artifactId>jboss-transaction-api_1.1_spec</artifactId>

      <version>1.0.1.Final</version>

    </dependency>

 

    <!--Mysql-JDBC-->

    <!--数据库驱动,根据数据库的版本选择驱动版本-->

    <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->

    <dependency>

      <groupId>mysql</groupId>

      <artifactId>mysql-connector-java</artifactId>

      <version>8.0.13</version>

    </dependency>

 

    <!--junit测试-->

    <dependency>

      <groupId>junit</groupId>

      <artifactId>junit</artifactId>

      <version>4.11</version>

      <scope>test</scope>

    </dependency>

    <dependency>

      <groupId>org.junit.jupiter</groupId>

      <artifactId>junit-jupiter-api</artifactId>

      <version>5.2.0</version>

      <scope>compile</scope>

</dependency>

 

<!-- servlet-->
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>javax.servlet-api</artifactId>
  <version>4.0.1</version>
  <scope>provided</scope>
</dependency>

<!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
<dependency>
  <groupId>javax.servlet.jsp</groupId>
  <artifactId>javax.servlet.jsp-api</artifactId>
  <version>2.3.1</version>
  <scope>provided</scope>
</dependency>

 

  </dependencies>

 

  <build>

    <!--插件: 指定编译版本-->

    <pluginManagement>

      <plugins>

        <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-compiler-plugin</artifactId>

          <version>3.1</version>    <!--必须指定版本-->

          <configuration>

            <source>1.8</source>

            <target>1.8</target>

            <encoding>UTF-8</encoding>

          </configuration>

        </plugin>

      </plugins>

    </pluginManagement>

 

    <!--把java目录中的配置文件,也能够打包到java包中-->

    <resources>

      <resource>

        <directory>src/main/resources</directory>

      </resource>

      <resource>

        <directory>src/main/java</directory>

        <includes>

          <include>**/*.properties</include>

          <include>**/*.xml</include>

        </includes>

        <!--是否替换资源中的属性-->

        <filtering>false</filtering>

      </resource>

    </resources>

  </build>

 

3、hibernate自动生成实体类、映射文件:

1、连接mysql

 

成功:

 

2、添加hibernate插件支持:

 

 

 

 

 

 

 

 

成功结果:

 

3、Hibernate映射文件,需要添加主键生成策略:

①这是主键自增:

<generator class="identity"></generator>  <!—这是自增-->

 

 

②这是uuid 字符串唯一:

<generator class="uuid"/> <!-- 字符串唯一 -->

 

 

4、如果再次想生成实体类和映射文件:

 

5、创建hibernate核心配置文件:

Hibernate.cfg.xml

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

        <!--*************1.数据源********************-->

        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>

        <property name="hibernate.connection.url">

            jdbc:mysql://127.0.0.1:3307/hibernate?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC

        </property>

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

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

        <!--扩展属性 必须指向数据库的方言 mysql版本低于5.5用MySQL5Dialect-->

        <property name="hibernate.dialect">org.hibernate.dialect.MySQL55Dialect</property>

        <!--自动创建表  一般不需要 常规项目先做数据库表-->

        <property name="hbm2ddl.auto">update</property><!--update自动更新-->

        <!--显示SQL-->

        <property name="hibernate.show_sql">true</property>

        <property name="hibernate.format_sql">true</property><!--格式化 好看一点-->

<!-- 使用getCurrentSession方式获取session 线程安全-->
<property name="hibernate.current_session_context_class">thread</property>


        <!--**********2.注册实体*************************-->

        <mapping resource="com/lemon/pojo/Students.hbm.xml"></mapping>

        <mapping resource="com/lemon/pojo/Users.hbm.xml"></mapping>

    </session-factory>

  </hibernate-configuration>

 

 

 

注册实体:

配置数据库:

 

 

 

6、工具类:

HibernateUtils.java

package com.lemon.utils;

  

  

  import org.hibernate.Session;

  import org.hibernate.SessionFactory;

  import org.hibernate.cfg.Configuration;

  

  /**

 * 工具类:

 */

  public class HibernateUtils {

  

    private static SessionFactory sessionFactory;

  

    static {

        //1、加载配置

        Configuration configuration = new Configuration();

        configuration.configure("hibernate.cfg.xml");

        /*单例模式*/

        //得到工厂 工厂来生产操作数据库的对象

        sessionFactory = configuration.buildSessionFactory();

    }

  

    //2、得到session

    public static Session openSession() {

        return sessionFactory.openSession();

    }

  

    

    //获取session方式二:使用这个session必须开启事务

    public static Session getCurrentSession() {

        //受线程绑定,即在多线程下,线程是安全的

        return sessionFactory.getCurrentSession();

    }

}

 

 

 

 

 

7、测试:

package com.lemon;

  

  import com.lemon.pojo.Students;

  import com.lemon.utils.HibernateUtils;

  import org.hibernate.Session;

  import org.hibernate.query.Query;

  import org.junit.jupiter.api.Test;

  

  /**

 * 测试类

 *

 */

  public class App {

  

    //查找

    public void findById(){

        Session session = HibernateUtils.openSession();

        Query <Students> query = session.createQuery("from Students where id = ?", Students.class);

        query.setParameter(0,"S0000001");

        Students students = query.uniqueResult();

        System.out.println(students.getSname() + "\t" + students.getGender());

        session.close();

    }

  

    public static void main(String[] args) {

        App app = new App();

  

        app.findById();

    }

  

}

 

 

 

 

 

 

 

 

测试成功:

 

4、Hibernate与Struts2整合

4.1、添加web:

 

 

4.2、配置web.xml

<!-- Struts2过滤器-->
<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>  <!-- /* 过滤所有请求-->
</filter-mapping>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

 

 

4.3、配置struts.xml

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

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <!--s2hibernate插件里面有一个叫hibernate-default的package,
 它里面的拦截器用于实现struts2+hibernate整合-->
   
<package name="default" namespace="/" extends="struts-default">
       
    </
package>
</struts>

 

 

 

一个简单的增删查改demo(jsp,hibernate,struts2) NULL 博文链接:https://605113068.iteye.com/blog/1722663 立即下载

相关推荐

SSH-demo IDEA开发工具 学生管理系统

最简单的案例,最容易接受的代码,最完全的注释,带你走进SSH框架开发,一个demo创造更过价值 很久之前写的 代码不知道能不能跑起来 积分0 只限参考 。

struts2+spring5+hibernate5使用idea,tomcat 快速搭建项目

1. jdk安装1.8版本,本地没有的话,可以去百度下载安装。然后分别选择spring,struts2,hibernate。2. tomcat版本使用8.5,先下载安装。10 ,开始配置包和类和jsp,相关的图片如下。11,数据库新建表,注意修改自己的用户名和密码。5. 下载所使用的lib包,url路径为。12. 这样工程就完成了,下面就是启动了。4. idea开发工具,先下载安装。就是选择下载的lib包,全部选中。最后面两个文件,struts.xml。下面是各个文件,直接拷贝进工程里面。

lansedeshuyue的专栏 1409

struts2和hibernate整合

struts2和hibernate整合,适合SSH初学者学习

cglib动态代理Exception in thread "main" java.lang.ExceptionInInitializerError

使用动态代理过程中Enhancer enhancer = new Enhancer();报错; jar包版本冲突:导入一下依赖即可: ~~java <dependencies> <!-- https://mvnrepository.com/artifact/asm/asm --> <dependency> <groupId>asm</groupId> <artif

weixin_42051691的博客 1577

四旋翼黑科技揭秘:如何利用PX4隐藏的角加速度数据提升控制性能

本文深入探讨了如何利用PX4飞控中隐藏的角加速度数据,结合增量非线性动态逆(INDI)控制方法,显著提升四旋翼无人机的控制性能。通过实战教程,指导开发者从数据订阅、INDI原理到代码实现,构建响应更快、鲁棒性更强的控制回路,有效应对突风与快速机动。

lake5的博客 719

ANSYS Help USER300

USER 300概述单元描述输入数据假设与限制条件 概述 单元描述 Mechanical APDL提供了一种方便的方法来创建自定义的单元,命名为USER300,可以创建几乎任何单元类型。 UserElem子程序为Mechanical APDL在单元类型创建上提供了一个接口,可传递用户自定义单元创建时所需的所有数据,然后从自定义单元返回所有数据和结果,以更新数据库和文件。因为通过接口可以访问数据库和文件信息,所以很少需要了解Mechanical APDL数据库程序和文件结构。该接口还提供了获取Mechanic

weixin_47019765的博客 2234

用Idea 开发一个简单的Struts2+Maven+Hibernate 项目的流程

本文整理了用Idea Intellij 开发一个综合运用Strut 2, Maven 和Hibernate 项目的流程,并在步骤中对比了此项目技术相对于Servlet、手动添加Jar 和JDBC 的优势,还记录了一些可能出现问题的坑,最后总结项目收到请求后的执行过程。源码地址 (优快云 下载需要积分,欢迎支持):http://download.youkuaiyun.com/download/rock154/...

rock154的博客 1320

logisim实验——通过2个半加器实现1-bit全加器,通过4个一位全加器构成4-bit加法器(详解)

一、由异或门和与门所构成的半加器: 二、由两个半加器构成的1-bit全加器: ..

zep 1万+

Struts2(+Hibernate)个人踩坑记录 使用idea连接数据库 在Struts框架实现的基础上添加Hibernate框架

在struts2框架中整合hibernate框架时候,遇到了或多或少的问题现在总结如下: 测试Struts2+hibernate是否生效 在使用注解进行实体类的映射时候我们需要注意的是在使用@Entity的时候我们应当使用的是:javax.persistence.Entity的包下的。 在使用注解的时候只需要在Id(可自动增加的id)上添加注解即可 在配置hibernate.cfg.xml...

weixin_43749999的博客 1216

S905L3B机顶盒刷Armbian:从安卓Root到eMMC全攻略

在嵌入式开发与轻量级服务器搭建中,ARM架构设备因其低功耗和高性价比备受关注。晶晨S905L3B作为运营商机顶盒的主流芯片,通过刷写Armbian系统可将其改造为ARM小服务器。其原理是利用Amlogic芯片的uboot引导机制,将Linux系统写入eMMC存储,从而脱离原厂安卓限制。这一方案的技术价值在于以极低成本实现Docker容器、下载机、轻量数据库等服务的部署,应用场景涵盖家庭网络广告过滤、智能家居控制、复古游戏机等。本文以CM311-1S为例,详细拆解从安卓9 Root到Armbian写入eMMC

weixin_31476015的博客 340

fMRI原始数据分割的笔记

好记性不如烂笔头_fMRI小白入门笔记

ZY_brain的博客 2896

IntelliJ IDEA 下Spring整合Struts2、Hibernate

1. 整合原理: Spring与Struts2整合实际上是将Action对象交给Spring容器来负责创建。 Spring与Hibernate整合就是将sessionFactory交给Spring来负责维护,以及Spring维护session和aop事务。 2. 需要导入的特殊jar包 Hibernate中 java persist api java的持久化规范(接口) MySQL数据...

Coder Wang 2015

别再只玩积木了!用乐高EV3和官方软件,手把手教你做个能巡线的小车(附完整代码)

本文详细介绍了如何利用乐高EV3套件和官方软件制作智能巡线机器人,从硬件组装到软件编程全面覆盖。通过传感器原理讲解、控制算法调试等工程化细节,帮助读者掌握机器人开发的核心理念,特别适合STEAM教育和硬件编程爱好者实践。

weixin_30776273的博客 449

IDEA配置struts和hibernate 2021最新版教程

There is no Action mapped for namespace [/] and action name [hello]异常解决

qq_41557627的博客 1706

I2C通信——时序图

本文用逻辑分析仪抓取主机I2C通信的时序图,抓取的过程是读某个寄存器的值。

weixin_43772611的博客 7353

如何在 SAP Server Side JavaScript 里消费 destination

在SAP云平台里打开SAP HANA Web-Based Development Workbench进行服务器端JavaScript的开发。 创建一个新的package: 创建一个新的application: 创建一个新的文件google-distance-api.xshttpdest用于维护destination相关信息: host = "maps.googlea...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 611

Intellij IDEA的Hibernate简单应用

1、创建数据库及其表 create database demo; use demo; CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `username` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL,...

老高 814

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IDEA 2021+ Maven进行SSH框架整合

SSH整合

Ying_Lan的博客 1607

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【转载】Intellij IDEA的Hibernate简单应用

转载自: https://www.cnblogs.com/yangyquin/p/5438248.html 1、创建数据库及其表 create database demo; use demo; CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `usernam...

weixin_30293135的博客 112

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

demo(Struts2+Spring+Hibernate)

一、 准备工作  开发环境:tomcat5+jdk6+mysql5+eclipse:eclipse-jee-helios-SR1-win32.zip.    struts2+Spring2.0.6+Hibernate3.1。本示例通过对一个人力资源的系统,提供基本的增加、删除、修改、查询等功能。  lib包需要以下所示的这些包:       antlr-2.7.6.jar

小红帽 816

Java三大框架SSH_001_02之Struts2是什么、Hibernate是什么、Struts2框架搭建、配置一个请求的完整流程

系列文章目录 前言 这里的Struts2框架部分我们需要用到IDER讲例子,而不是用eclipse了,前面都是用的eclipse IDER的安装和使用参考此链接: 文章目录系列文章目录前言一、Struts2是什么?二、Struts2 怎么学习,开始学习2.1思路2.2具体操作2.3Struts 的Action配置讲解:需要完成任务:配置一个请求的完整流程总结 一、Struts2是什么? Struts2是表现层的一种技术 SpringMVC也是表现层的一种技术 后面可以用SpringMVC替换掉Struts2

小良的博客 340

idea关于hibernate框架的使用

idea关于hibernate框架的使用 一.mySQL中表的创建 在mySQL中新建一个名为demo的数据库,在该数据库中新建一个customer的客户表 并添加下列测试数据 二.项目创建 然后点击Next,选择好包后创建项目 三.POM.xml文件 首先对环境进行设置:(如下图) 点击File—>Settings—>Build,Execution,Deployment—>Build Tools—>Maven 勾选Always update snapshots 在pom.

Ben_Green的博客 457

使用Struts2+Hibernate开发学生信息管理功能

1、项目文件地址(点这里) 2、IDEA整合Struts2+Hibernate的Demo(点这里)

LemonSnm的博客 412

SpringBoot 演化(二)IDEA 创建ssh项目

第二阶段 ssh 同样使用 idea来创建,这次一样不引入 mavean的概念,还是回顾为主,目的是了解spring的ioc机制 1)创建项目 File–>new project,然后左侧选择 Spring 勾选 create empty spring-config.xml,接着滚轮往下,选择struts2 和 hibernate 然后点击next,设置好项目名称后,结束 2)项目建...

zhang_adrian的博客 1137
上一篇: 使用Struts2+Hibernate开发学生信息管理功能
下一篇: vsCode新建一个vue脚手架
LemonSnm
博客等级 码龄8年 66粉丝 168原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值