Hibernate+Maven+Struts2——实现增删查改CURD的步骤详解
来源:互联网 发布:人人商城分销 源码 编辑:程序博客网 时间:2024/05/01 13:47
首先,让我们来看一下我们要实现的效果图
接下来,上博主的代码架构
接下来直接进入主题:
1.创建数据库的表
2.创建项目
用Eclipse创建一个Maven Project项目
3.导入hibernate相关的架包到项目
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>Maven_Hibenate01</groupId> <artifactId>Maven_Hibenate01</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>Maven_Hibenate01 Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <argLine>-Dfile.encoding=UTF-8</argLine> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <!-- 加入Servlet依赖 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope></dependency><!-- 加入hibernate依赖 --><dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.10.Final</version></dependency><!-- 加入Struts2依赖 --><dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.12</version></dependency><dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-convention-plugin</artifactId> <version>2.5.12</version></dependency> <!--json-lib依赖--> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency><!-- 加入MySQL依赖 --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.18</version></dependency> </dependencies> <build> <finalName>Maven_Hibenate01</finalName> </build></project>
4.配置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> <!-- 配置数据库的连接信息 --> <property name="connection.username">root</property> <property name="connection.password">123</property> <property name="connection.url">jdbc:mysql://localhost:3306/test?characterEncoding=utf8</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 关联映射文件 --> <mapping resource="com/yhl/entity/User.hbm.xml"/> </session-factory></hibernate-configuration>
5.创建实体类User.java和映射文件 User.hbm.xml(映射文件和实体对象必须在同一个包下)
package com.yhl.entity;public class User { private int u_id;//编号 private String u_name;//用户名 private String u_sex;//性别 public User() { } public User(int u_id) { this.u_id = u_id; } public User(String u_name, String u_sex) { super(); this.u_name = u_name; this.u_sex = u_sex; } public User(int u_id, String u_name, String u_sex) { this.u_id = u_id; this.u_name = u_name; this.u_sex = u_sex; } public int getU_id() { return u_id; } public void setU_id(int u_id) { this.u_id = u_id; } public String getU_name() { return u_name; } public void setU_name(String u_name) { this.u_name = u_name; } public String getU_sex() { return u_sex; } public void setU_sex(String u_sex) { this.u_sex = u_sex; } }
6.写Dao层
接口UserDao.java
package com.yhl.dao;import java.util.List;import com.yhl.entity.User;public interface UserDao {/** * 查询所有 */public List<User> getAll();/** * 添加一行信息 */public int AddUser(User user);/** * 根据ID删除一行信息 */public int DeleteUser(int u_id);/** * 修改用户信息 */public int UpadteUser(User user);}实现类UserDaoImp.java
package com.yhl.dao;import java.io.Serializable;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import com.yhl.entity.User;public class UserDaoImp implements UserDao{ private Configuration configuration;//1.实例化配置对象 加载映射文件hibernate.cfg.xmlprivate SessionFactory sessionFactory;//2.创建会话工厂private Session session;//3.创建会话private Transaction transaction;//4.开启事务/** * 查看所有 */public List<User> getAll() { configuration = new Configuration().configure(); sessionFactory = configuration.buildSessionFactory(); session = sessionFactory.openSession(); transaction = session.beginTransaction(); //查询所有 List<User> list=session.createCriteria(User.class).list(); //提交事物 transaction.commit(); session.close(); sessionFactory.close(); return list;}/** * 添加 */public int AddUser(User user) { configuration = new Configuration().configure(); sessionFactory = configuration.buildSessionFactory(); session = sessionFactory.openSession(); transaction = session.beginTransaction(); //添加一行信息 User users=new User(user.getU_name(), user.getU_sex()); Serializable Serializable = session.save(users); int a=(Integer) Serializable; System.out.println(a); //提交事物 transaction.commit(); session.close(); sessionFactory.close(); return 0;}/** * 删除 */public int DeleteUser(int uid) { configuration = new Configuration().configure(); sessionFactory = configuration.buildSessionFactory(); session = sessionFactory.openSession(); transaction = session.beginTransaction(); //删除一行信息 User user=new User(); user.setU_id(uid); session.delete(user); //提交事物 transaction.commit(); session.close(); sessionFactory.close(); return 0;}/** * 修改 */public int UpadteUser(User user) { configuration = new Configuration().configure(); sessionFactory = configuration.buildSessionFactory(); session = sessionFactory.openSession(); transaction = session.beginTransaction(); //修改 User users=session.get(User.class, user.getU_id()); users.setU_name(user.getU_name()); users.setU_sex(user.getU_sex()); session.update(users); //提交事物 transaction.commit(); session.close(); sessionFactory.close(); return 0;}}
7.写Action
package com.yhl.action;import java.io.PrintWriter;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;import com.yhl.dao.UserDao;import com.yhl.dao.UserDaoImp;import net.sf.json.JSONArray;public class GetAllUserAtion extends ActionSupport{@Overridepublic String execute(){ System.out.println("查看所有的Ation进来了。。。。。。"); UserDao userDao=new UserDaoImp(); try { HttpServletResponse resp = ServletActionContext.getResponse(); resp.setContentType("text/html;charset=UTF-8"); JSONArray jsonArray=JSONArray.fromObject(userDao.getAll()); PrintWriter pw; pw = resp.getWriter(); pw.write(jsonArray.toString()); pw.close(); } catch (Exception e) { e.printStackTrace(); } return null;}}
package com.yhl.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;import com.yhl.dao.UserDao;import com.yhl.dao.UserDaoImp;import com.yhl.entity.User;public class AddAction extends ActionSupport{ HttpServletResponse resp=ServletActionContext.getResponse(); HttpServletRequest req=ServletActionContext.getRequest(); UserDao dao=new UserDaoImp(); private int u_id; private String u_name; private String u_sex; @Override public String execute() throws Exception { resp.setContentType("text/html; charset=UTF-8"); req.setCharacterEncoding("UTF-8"); dao.AddUser(new User(u_id, u_name, u_sex)); return null; } public int getU_id() { return u_id; } public void setU_id(int u_id) { this.u_id = u_id; } public String getU_name() { return u_name; } public void setU_name(String u_name) { this.u_name = u_name; } public String getU_sex() { return u_sex; } public void setU_sex(String u_sex) { this.u_sex = u_sex; } }
package com.yhl.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;import com.yhl.dao.UserDao;import com.yhl.dao.UserDaoImp;public class DeleteAction extends ActionSupport{ HttpServletResponse resp=ServletActionContext.getResponse(); HttpServletRequest req=ServletActionContext.getRequest(); UserDao dao=new UserDaoImp(); private int u_id; @Override public String execute() throws Exception {System.out.println("删除的Action进来了。。。。。。"); resp.setContentType("text/html; charset=UTF-8"); req.setCharacterEncoding("UTF-8"); System.out.println(u_id); dao.DeleteUser(u_id); return null; }public int getU_id() {return u_id;}public void setU_id(int u_id) {this.u_id = u_id;}}
package com.yhl.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;import com.yhl.dao.UserDao;import com.yhl.dao.UserDaoImp;import com.yhl.entity.User;public class UpdateAction extends ActionSupport { HttpServletResponse resp=ServletActionContext.getResponse(); HttpServletRequest req=ServletActionContext.getRequest(); UserDao dao=new UserDaoImp(); private int u_id; private String u_name; private String u_sex; @Override public String execute() throws Exception { System.out.println("修改的Action进来了。。。。。。"); resp.setContentType("text/html; charset=UTF-8"); req.setCharacterEncoding("UTF-8"); dao.UpadteUser(new User(u_id, u_name, u_sex)); return null; } public int getU_id() { return u_id; } public void setU_id(int u_id) { this.u_id = u_id; } public String getU_name() { return u_name; } public void setU_name(String u_name) { this.u_name = u_name; } public String getU_sex() { return u_sex; } public void setU_sex(String u_sex) { this.u_sex = u_sex; }}
8.写struts.xml配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <!-- 打开方法的动态调用 --> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <package name="mupackage" namespace="/" extends="struts-default"> <action name="selectuser" class="com.yhl.action.GetAllUserAtion"></action> <action name="adduser" class="com.yhl.action.AddAction"></action> <action name="deltetuser" class="com.yhl.action.DeleteAction"></action> <action name="updateuser" class="com.yhl.action.UpdateAction"></action> </package></struts>
9.配置web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app> <display-name>Archetype Created Web Application</display-name> <!-- Struts2核心过滤器配置 --> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping></web-app>
10.写jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Hibenate+Struts2+Maven+EasyUI实现增删查改</title><!-- 引入easyui库 --><link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css"> <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css"><script type="text/javascript" src="easyui/jquery.min.js"></script> <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script> <script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script><script type="text/javascript">var DBindex; $(function(){$('#dg').datagrid({ url:'selectuser.action', loadMsg:'正在拼命加载中...', columns:[[ {field:'u_id',title:'编号',width:100,align:'center'}, {field:'u_name',title:'用户名',width:100,align:'center',"editor":{type:'validatebox'}}, {field:'u_sex',title:'性别',width:100,align:'center',"editor":{type:'validatebox'}}, ]],onDblClickRow:function(index,row){ DBindex=index; $('#dg').datagrid('beginEdit',index); },onClickRow:function(index,row){ DBindex=index; },toolbar: [{iconCls: 'icon-add',text:"添加",handler: function(){DBindex=0;$('#dg').datagrid('insertRow',{index:0,// 索引从0开始row: {}});$('#dg').datagrid('beginEdit',0);}},'-',{iconCls: 'icon-remove',text:"删除",handler: function(){var row=$('#dg').datagrid("getRows")[DBindex];if(row!=null){var u_id=row["u_id"];$.post("deltetuser.action",{"u_id":u_id},function(data){$('#dg').datagrid('reload');});}}},'-',{iconCls: 'icon-save',text:"保存",handler: function(){$('#dg').datagrid('endEdit',DBindex); var row=$('#dg').datagrid("getRows")[DBindex]; if(row!=null){var u_name=row["u_name"];var u_sex=row["u_sex"];$.post("adduser.action",{"u_name":u_name,"u_sex":u_sex},function(data){$('#dg').datagrid('reload');}); }}},'-',{iconCls: 'icon-edit',text:"修改",handler: function(){$('#dg').datagrid('endEdit',DBindex); var row=$('#dg').datagrid("getRows")[DBindex]; if(row!=null){var u_id=row["u_id"];var u_name=row["u_name"];var u_sex=row["u_sex"];$.post("updateuser.action",{"u_id":u_id,"u_name":u_name,"u_sex":u_sex},function(data){$('#dg').datagrid('reload');}); }}}]}); });</script></head><body><table id="dg" style="width:301px;height:500px"></table> </body></html>
附:EasyUI下载地址
阅读全文
0 0
- Hibernate+Maven+Struts2——实现增删查改CURD的步骤详解
- Hibernate实现增删查改CURD例子
- hibernate基本概念和CURD(增删改查)详解
- 基于maven下Spring,struts2,hibernate的增删改查
- Hibernate---curd(增删查改)操作
- maven+hibernate实现对MySql数据库的增删改查
- CURD增删改查
- hibernate的增删改查详解!
- strut2+hibernate实现的增删改查
- 实现hibernate的增删查改。
- Hibernate实现简单的增删改查
- struts2.0+spring2.0+hibernate3.2实现增删改查CURD
- 2009-12-02 22:16 struts2.0+spring2.0+hibernate3.2实现增删改查CURD
- 使用Hibernate 基本原理,步骤,核心,实现增删查改
- Struts2+hibernate实现用户登录和增删改查案例
- Struts2+hibernate实现用户登录和增删改查案例
- Struts2+hibernate实现用户登录和增删改查案例
- Hibernate概念深入和CURD(增删改查)
- Java HashMap 如何正确遍历并删除元素
- MongoDB数据库安装完成之后的配置
- quatz定时器配置
- Win10+VS+opencv配置
- ng2-validation/angular2表单验证模块使用方法
- Hibernate+Maven+Struts2——实现增删查改CURD的步骤详解
- dwarf tower
- git学习笔记
- 关于Java中try finally return语句的执行顺序分析
- Excel 工作表不是“表”
- Apache性能监控
- pdksh 包
- C函数使用笔记
- L1、L2正则化