SSM框架下基本的mapper,dao,service,controller等相关文件的整理

来源:互联网 发布:网络协议栈有什么用 编辑:程序博客网 时间:2024/06/03 14:11

  

SSM框架下基本的mapper,dao,service,controller等相关文件的整理

(新手整理,有不详细和不正确的地方还望指正以便即使改进)

Model里面多对应的字段Dao层的路径参数所对应的map的id,方法名称<mapper namespace="com.ts.ssm.dao.UserDao">    <resultMap id="UserBaseMap" type="com.ts.ssm.model.User">        <id column="id" property="id" jdbcType="BIGINT"/>        <result column="user_name" property="userName" jdbcType="VARCHAR"/>        <result column="user_phone" property="userPhone" jdbcType="VARCHAR"/>        <result column="user_email" property="userEmail" jdbcType="VARCHAR"/>        <result column="user_pwd" property="userPwd" jdbcType="VARCHAR"/>        <result column="pwd_salt" property="pwdSalt" jdbcType="VARCHAR"/>        <result column="create_time" property="createTime" jdbcType="DATE"/>        <result column="modify_time" property="modifyTime" jdbcType="DATE"/>            </resultMap>    <select id="selectUserById" parameterType="java.lang.Long" resultMap="UserBaseMap">        SELECT * FROM t_user        WHERE id = #{userId}    </select>    <select id="selectUserByPhoneOrEmail" resultMap="UserBaseMap">        SELECT * FROM t_user        WHERE user_email = #{emailOrPhone} OR user_phone = #{emailOrPhone}        AND user_state = #{state}    </select>    <select id="selectAllUser" resultMap="UserBaseMap">        SELECT * FROM t_user    </select></mapper>数据类型数据库字段名称这个是对应的modelMapper文件的整理:

一般来说我首先是写完model 层写dao层,再去写sevice层再去写它的impl层,最后去写它的controller层

 

Model层不做解释,但是可以用lombok来简化一个繁琐的get,set方法等。
主要是controller和service和dao之间的
 
Dao层的整理:

用于标注数据访问组件,即DAO组件package com.ts.ssm.dao;import com.ts.ssm.model.User;import org.apache.ibatis.annotations.Param;import org.springframework.stereotype.Repository;import java.util.List;/** * Created by ts on 2016/12/23. */@Repositorypublic interface UserDao {    User selectUserById(@Param("userId") Long userId);    User selectUserByPhoneOrEmail(@Param("emailOrPhone") String emailOrPhone, @Param("state") Short state);    List<User> selectAllUser();}Mapper文件中所对应的方法和传入相关的参数     dao层,你也可以把它拆分成dao和impl写,个人觉得service我已经拆分成了service和serviceimpl所以我就不再对dao层进行拆分了。

Service层的整理:

package com.ts.ssm.service;import com.ts.ssm.model.User;import java.util.List;/** * Created by ts on 2016/12/23. */public interface UserService {    List<User> getAllUser();    User getUserByPhoneOrEmail(String emailOrPhone, Short state);    User getUserById(Long userId);}     该层其实就是一个接口,没有具体的实现,主要是声明方法。不做叙述。

Service的impl层的整理:

装配bean@Service用于标注业务层组件(我们通常定义的service层就用这个)异常回滚package com.ts.ssm.service.impl;import com.ts.ssm.dao.UserDao;import com.ts.ssm.model.User;import com.ts.ssm.service.UserService;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import javax.annotation.Resource;import java.util.List;/** * Created by ts on 2016/12/23. */@Service@Transactional(rollbackFor = Exception.class)public class UserServiceImpl implements UserService {    @Resource    private UserDao userDao;    public User getUserById(Long userId) {        return userDao.selectUserById(userId);    }    public User getUserByPhoneOrEmail(String emailOrPhone, Short state) {        return userDao.selectUserByPhoneOrEmail(emailOrPhone,state);    }    public List<User> getAllUser() {        return userDao.selectAllUser();    }}     该层继承service层后去调用dao层去对方法去实现

 

 

 

 

 

 

Controller层的整理:

package com.ts.ssm.controller;import com.ts.ssm.model.User;import com.ts.ssm.service.UserService;import org.apache.log4j.Logger;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import java.util.List;/** * Created by ts on 2016/12/23. */@Controller@RequestMapping("/user")public class UserController {    private Logger log = Logger.getLogger(UserController.class);    @Resource    private UserService userService;    @RequestMapping("/showUser")    public String showUser(HttpServletRequest request, Model model){        log.info("查询所有用户信息");        List<User> userList = userService.getAllUser();        model.addAttribute("userList",userList);        return "showUser";    }}     在springmvc中经常叫做controller层,在ssh框架下面一般是action层,该层主要对访问的路径的方法进行类似于“拦截”,对其ModelandView的处理

 


·
·
·
·
返回顶部
3 0
原创粉丝点击