Maven整合SSH项目(六)中

简介: Maven整合SSH项目(六)

二.五 web.xml 文件


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>SSH整合</display-name>
  <!-- 配置spring 启动时的监听器 -->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- 配置启动参数 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <!-- 配置全局编码格式 -->
   <filter> 
    <filter-name>CharacterEncodingFilter</filter-name> 
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> 
    <init-param> 
      <param-name>encoding</param-name>
      <param-value>UTF-8</param-value> 
    </init-param> 
    <init-param> 
      <param-name>forceEncoding</param-name> 
      <param-value>true</param-value> 
    </init-param> 
  </filter> 
  <filter-mapping> 
    <filter-name>CharacterEncodingFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
  </filter-mapping>
   <!-- 配置struts2的过滤器 -->
  <filter>
      <filter-name>struts</filter-name>
      <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
      <filter-name>struts</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
  <filter>  
    <filter-name>openSessionInViewFilter</filter-name>  
    <filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>  
    <init-param>  
      <param-name>singleSession</param-name>  
      <param-value>true</param-value>  
    </init-param>  
  </filter>  
   <filter-mapping>  
    <filter-name>openSessionInViewFilter</filter-name>  
    <url-pattern>*.action</url-pattern>  
  </filter-mapping>  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>


配置文件就算了配置好了,接下来,就是代码部分了。


二.六 User 实体类和其配置文件


User.java 所在的包是 com.yjl.pojo 包。


package com.yjl.pojo;
/**
 @author:岳泽霖
 @date: 2019年4月20日 上午10:06:22
 @Description 类的相关描述
*/
public class User {
  /**
   * @param id 主键编号
   * @param name 姓名
   * @param sex 性别
   * @param age 年龄
   */
  private Integer id;
  private String name;
  private String sex;
  private Integer age;
  public Integer getId() {
    return id;
  }
  public void setId(Integer id) {
    this.id = id;
  }
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getSex() {
    return sex;
  }
  public void setSex(String sex) {
    this.sex = sex;
  }
  public Integer getAge() {
    return age;
  }
  public void setAge(Integer age) {
    this.age = age;
  }
  @Override
  public String toString() {
    return "User [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age+"]";
  }
}


User.hbm.xml 配置文件 (目前放置在 src/main/java/resources/ com/yjl/pojo 目录下,即与 User.java 同级目录)


<?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 package="com.yjl.pojo">
  <!-- 具体的实体类 -->
  <class name="User" table="user">
    <!-- 主键 -->
    <id name="id" column="id">
                    <generator class="native"></generator>
                </id>
    <!-- 其余属性 -->
    <property name="name"></property>
    <property name="sex" ></property>
    <property name="age"></property>
  </class>
</hibernate-mapping>


20191029161015251.png


二.七 dao层及其实现类 UserDao 和UserDaoImpl


UserDao.java


package com.yjl.dao;
import java.util.List;
import com.yjl.pojo.User;
/**
 @author:岳泽霖
 @date: 2019年5月22日 下午8:04:06
 @Description 类的相关描述
*/
public interface UserDao{
  User getById(Integer id);
  List<User> findAll();
  void insertInfo(User user);
  void updateInfo(User user);
  void deleteById(Integer id);
}


UserDaoImpl.java


package com.yjl.dao.impl;
import java.util.List;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.yjl.dao.UserDao;
import com.yjl.pojo.User;
/**
 @author:岳泽霖
 @date: 2019年5月22日 下午8:04:43
 @Description 类的相关描述
*/
@Repository("userDao")
public class UserDaoImpl implements UserDao {
  @Autowired
  private SessionFactory sessionFactory; 
  @Override
  public User getById(Integer id) {
    return sessionFactory.getCurrentSession().get(User.class, id);
  }
  @SuppressWarnings("unchecked")
  @Override
  public List<User> findAll() {
    return sessionFactory.getCurrentSession().createQuery("FROM User")
        .list();
  }
  @Override
  public void insertInfo(User user) {
     sessionFactory.getCurrentSession().save(user);
  }
  @Override
  public void updateInfo(User user) {
     sessionFactory.getCurrentSession().update(user);
  }
  @Override
  public void deleteById(Integer id) {
    User user=getById(id);
    sessionFactory.getCurrentSession().delete(user);
  }
}


二.八 service层及其实现类 UserService和 UserServiceImpl


UserService.java


package com.yjl.service;
import java.util.List;
import com.yjl.pojo.User;
/**
 @author:岳泽霖
 @date: 2019年5月22日 下午8:04:57
 @Description 类的相关描述
*/
public interface UserService{
  /**
   * @param t pojo插入对象
   * @return 添加对象
   */
  void addEntity(User t);
  /**
   * 
   * @param id 主键编号
   * @return 根据id编号删除当前对象
   */
  void deleteEntity(Integer id);
  /**
   * @param t pojo更新对象
   * @return  更新对象
   */
  void updateEntity(User t);
  /**
   * @param id 主键编号
   * @return 根据id编号查询当前对象,是唯一值.
   */
  User getEntityById(Integer id);
  /**
   * @return 查询所有的对象信息
   */
  List<User> findAllEntitys();
}


UserServiceImpl.java


package com.yjl.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.yjl.dao.UserDao;
import com.yjl.pojo.User;
import com.yjl.service.UserService;
/**
 @author:yuejl
 @date: 2019年5月22日 下午8:05:15
 @Description 类的相关描述
*/
@Service("userService")
@Transactional
public class UserServiceImpl implements UserService {
  @Resource
  private UserDao userDao;
  @Override
  public void addEntity(User t) {
    userDao.insertInfo(t);
  }
  @Override
  public void deleteEntity(Integer id) {
    userDao.deleteById(id);
  }
  @Override
  public void updateEntity(User t) {
    userDao.updateInfo(t);
  }
  @Override
  public User getEntityById(Integer id) {
    return userDao.getById(id);
  }
  @Override
  public List<User> findAllEntitys() {
    return userDao.findAll();
  }
}



相关文章
|
29天前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
47 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
1月前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
142 8
|
1月前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
122 3
|
2月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
190 1
Maven——创建 Spring Boot项目
|
2月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
56 1
如何使用 maven 创建一个 Spring Boot项目
|
2月前
|
Java Maven Android开发
eclipse创建maven项目
本文介绍了在Eclipse中创建Maven项目的步骤,包括打开Eclipse、选择Java项目、完成项目创建以及自动下载插件的过程。
119 2
eclipse创建maven项目
|
2月前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
102 1
|
2月前
|
Java API Apache
除了 Maven,还有哪些工具可以管理项目的依赖和版本冲突
除了Maven,常用的项目依赖管理和版本冲突解决工具有Gradle、Ivy、Ant+Ivy、SBT等。这些工具各有特点,适用于不同的开发环境和需求。
173 2
|
2月前
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
488 1
|
2月前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
370 0

热门文章

最新文章