SSM框架搭建+easyui增删改查
来源:互联网 发布:淘宝网总裁张杰 编辑:程序博客网 时间:2024/05/17 03:22
转载于:http://www.cnblogs.com/caiya928/p/4851686.html?utm_source=tuicool&utm_medium=referral
闲来无事,看了看别人的博客文档也跟着敲了敲,特地记录下来,方便以后学习:
spring版本:4.0.6
mybatis版本:3.2.5
所有jar包打包下载:http://pan.baidu.com/s/1qLEaU
1、项目目录结构
其中,controller包下存放控制层文件,dao下存放各个model类相关的数据库操作接口,entity下放置各种model类,mappers下放置各个dao对应的映射文件,service服务层就不说了,放置各种service接口,impl是其具体实现类。
2、web.xml文件配置
3、log4j.properties配置日志
4、mybatis-config.xml配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <!-- 别名 --> <typeAliases> <package name="com.java.entity" /> <!-- 后面书写类全名时默认加该包名前缀如:<resultMap type="User"... --> </typeAliases></configuration>
5、spring-mvc.xml配置
6、applicationContext.xml配置
7、增删改查具体实现
主界面很简单:
详细html实现:
再来看看目录结构:
UserController:
package com.java.controller;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import com.java.entity.PageBean;import com.java.entity.User;import com.java.service.UserService;import com.java.util.ResponseUtil;import com.java.util.StringUtil;import com.sun.mail.iap.Response;/** * 用户Controller层 * @author Administrator * */@Controller@RequestMapping("/user")public class UserController { @Resource private UserService userService; /** * 删除用户 * @param ids * @param res * @return * @throws Exception */ @RequestMapping("/delete") public String delete(@RequestParam(value="ids") String ids,HttpServletResponse res) throws Exception{ String[] idStr = ids.split(","); JSONObject jsonObject = new JSONObject(); for (String id : idStr) { userService.delete(Integer.parseInt(id)); } jsonObject.put("success", true); ResponseUtil.write(res, jsonObject); return null; } /** * 添加或者修改 * @param user * @param res * @return * @throws Exception */ @RequestMapping("/save") public String save(User user,HttpServletResponse res) throws Exception{ //操作记录条数,初始化为0 int resultTotal = 0; if (user.getId() == null) { resultTotal = userService.add(user); }else{ resultTotal = userService.update(user); } JSONObject jsonObject = new JSONObject(); if(resultTotal > 0){ //说明修改或添加成功 jsonObject.put("success", true); }else{ jsonObject.put("success", false); } ResponseUtil.write(res, jsonObject); return null; } /** * 用户登录 * @param user * @param request * @return * @throws Exception */ @RequestMapping("/login") public String login(User user, HttpServletRequest request) throws Exception{ User resultUser = userService.login(user); if (resultUser == null) { request.setAttribute("user", resultUser); request.setAttribute("errorMsg", "用户名或密码错误"); return "login"; }else { HttpSession session = request.getSession(); session.setAttribute("currentUser", resultUser); return "redirect:/main.jsp"; } } /** * 用户分页查询 * @param page * @param rows * @param s_user * @param res * @return * @throws Exception */ @RequestMapping("/list") public String list(@RequestParam(value="page",required=false) String page,@RequestParam(value="rows",required=false) String rows,User s_user,HttpServletResponse res) throws Exception{ PageBean pageBean=new PageBean(Integer.parseInt(page),Integer.parseInt(rows)); Map<String,Object> map=new HashMap<String,Object>(); map.put("userName", StringUtil.formatLike(s_user.getUserName())); map.put("start", pageBean.getStart()); map.put("size", pageBean.getPageSize()); List<User> userList=userService.find(map); Long total=userService.getTotal(map); JSONObject result=new JSONObject(); JSONArray jsonArray=JSONArray.fromObject(userList); result.put("rows", jsonArray); result.put("total", total); ResponseUtil.write(res, result); return null; } }
UserDao:
package com.java.dao;import java.util.List;import java.util.Map;import com.java.entity.User;/** * 用户DAO接口 * * @author Administrator * */public interface UserDao { /** * 用户登录 * @param user * @return */ public User login(User user); /** * 用户查询 * @param map * @return用户集合 */ public List<User> find(Map<String, Object> map); /** * 获取总记录数 * @param map * @return获取的total数 */ public Long getTotal(Map<String, Object> map); /** * 修改用户 * @param user * @return影响的记录数 */ public int update(User user); /** * 添加用户 * @param user * @return影响的记录数 */ public int add(User user); /** * 删除用户 * @param id * @return */ public int delete(Integer id); }
PageBean,用来分页的一个工具类:
User,用户实体类:
package com.java.entity;/** * 用户实体 * @author Administrator * */public class User { private Integer id; private String userName; private String password; private String trueName; private String email; private String phone; private String roleName; //角色名称:系统管理员、销售主管、客户经理、高管 public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getTrueName() { return trueName; } public void setTrueName(String trueName) { this.trueName = trueName; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getRoleName() { return roleName; } public void setRoleName(String roleName) { this.roleName = roleName; } }
UserService:
package com.java.service;import java.util.List;import java.util.Map;import com.java.entity.User;/** * UserService接口 * @author Administrator * */public interface UserService { /** * 用户登录 * @param user * @return */ public User login(User user); /** * 用户查询 * @param map * @return */ public List<User> find(Map<String, Object> map); /** * 获取总记录数 * @param map * @return */ public Long getTotal(Map<String, Object> map); /** * 修改用户 * @param user * @return影响的记录数 */ public int update(User user); /** * 添加用户 * @param user * @return影响的记录数 */ public int add(User user); /** * 删除用户 * @param id * @return */ public int delete(Integer id);}
UserServiceImpl:
package com.java.service.impl;import java.util.List;import java.util.Map;import javax.annotation.Resource;import org.springframework.stereotype.Service;import com.java.dao.UserDao;import com.java.entity.User;import com.java.service.UserService;/** * UserService实现类 * @author Administrator * */@Service("userService")public class UserServiceImpl implements UserService{ @Resource private UserDao userDao; @Override public User login(User user) { return userDao.login(user); } @Override public List<User> find(Map<String, Object> map) { return userDao.find(map); } @Override public Long getTotal(Map<String, Object> map) { return userDao.getTotal(map); } @Override public int update(User user) { return userDao.update(user); } @Override public int add(User user) { return userDao.add(user); } @Override public int delete(Integer id) { return userDao.delete(id); }}
ResponseUtil工具类,主要用于返回json数据:
StringUtil,字符串工具类:
package com.java.util;/** * 字符串工具类 * @author * */public class StringUtil { /** * 判断是否是空 * @param str * @return */ public static boolean isEmpty(String str){ if(str==null||"".equals(str.trim())){ return true; }else{ return false; } } /** * 判断是否不是空 * @param str * @return */ public static boolean isNotEmpty(String str){ if((str!=null)&&!"".equals(str.trim())){ return true; }else{ return false; } } /** * 格式化模糊查询 * @param str * @return */ public static String formatLike(String str){ if(isNotEmpty(str)){ return "%"+str+"%"; }else{ return null; } }}
UserMapper.xml,mybatis所谓的动态sql语句,全部封装在这里:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.java.dao.UserDao"> <!-- 先定义一个Interface,UserMapper,然后Mapper文件的namespace指向的就是这个Interface, UserInterface里定义的方法和UserMapper.xml文件中的一样, 然后代码里直接使用接口 --> <resultMap type="User" id="UserResult"> <result property="id" column="id" /> <result property="userName" column="userName" /> <result property="password" column="password" /> <result property="trueName" column="trueName" /> <result property="email" column="email" /> <result property="phone" column="phone" /> <result property="roleName" column="roleName" /> </resultMap> <!-- 所谓的动态SQL语句 --> <select id="login" parameterType="User" resultMap="UserResult"> select * from userInfo where userName = #{userName} and password = #{password} and roleName = #{roleName} </select> <!-- 用户查询 --> <select id="find" parameterType="Map" resultMap="UserResult"> select * from userInfo <where> <if test="userName!=null and userName!='' "> and userName like #{userName} </if> </where> <if test="start!=null and size!=null"> limit #{start},#{size} </if> </select> <select id="getTotal" parameterType="Map" resultType="Long"> select count(*) from userInfo <where> <if test="userName!=null and userName!='' "> and userName like #{userName} </if> </where> </select> <!-- 用户添加 --> <insert id="add" parameterType="User"> insert into userInfo values(null,#{userName},#{password},#{trueName},#{email},#{phone},#{roleName}) </insert> <!-- 用户修改 --> <update id="update" parameterType="User"> update userInfo <set> <if test="userName != null and userName != ''">userName = #{userName},</if> <if test="password != null and password != ''">password = #{password},</if> <if test="trueName != null and trueName != ''">trueName = #{trueName},</if> <if test="email != null and email != ''">email = #{email},</if> <if test="phone != null and phone != ''">phone = #{phone},</if> <if test="roleName != null and roleName != ''">roleName = #{roleName},</if> </set> where id = #{id} </update> <!-- 用户删除 --> <delete id="delete" parameterType="Integer"> delete from userInfo where id = #{id} </delete></mapper>
最后是数据表结构:
相比hibernate,mybatis轻量级很多,但是新手最容易也最难搞定的往往是环境搭建部分,一不留神就是各种jar包冲突,真叫人抓狂啊啊,以后还得留意呵。
0 0
- SSM框架搭建+easyui增删改查
- SSM框架搭建+easyui增删改查实现
- ssm框架搭建+easyui增删改查实现
- ssm框架搭建+easyui增删改查实现
- ssm框架搭建+easyui增删改查实现
- ssm框架搭建+easyui增删改查实现
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM框架搭建(Spring+SpringMVC+MyBatis)与easyui集成并实现增删改查实现
- SSM框架---增删查改
- 关于SSM框架搭建以及简单的增删改查
- SSM+Mysql+EasyUI增删改查案例
- ssm+easyui+sqlserver2008(增删改查实现)
- 基于easyui框架的增删改查
- SSM 增删改查
- SSM+EasyUI整合,简单实现后台增删改查操作
- Alex-net 十大问
- |洛谷|DFS|P1019 单词接龙
- codeforces-373#C
- 一个菜鸟的编程路
- Android网络开发库Volley使用教程
- SSM框架搭建+easyui增删改查
- 解决android studio 彻底删除项目的问题
- 《nodejs开发指南》微博实例express4.x版
- Nodejs与MySQL交互(felixge/node-mysql)
- Spring4.IoC容器bean配置详解
- N-blog
- Nodejs Express 4.X 中文API 1--- Application篇
- Nodejs Express 4.X 中文API 2--- Request篇
- Nodejs Express 4.X 中文API 3--- Response篇