二.五 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>
二.七 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(); } }