ssm框架(Spring+SpringMVC+MyBatis)实现管理系统注册功能

这里写自定义目录标题

  • ssm框架
    • 准备工作

ssm框架

因为从事手机端开发,并非后端开发,ssm框架也是这几天现学现卖,所以以下内容如果有不正确的地方,欢迎大家指正,谢谢。之所以写这篇文章,一是做一个学习总结(其实是怕以后想用ssm框架,想不起来怎么写…),二就是想与那些跟我一样的,没什么基础又想学习的人分享下心得,废话不多说,进入正题。

准备工作

数据库:5.5
服务器:Tomcat8.5
开发工具:IntelliJ IDEA
框架配置就不多说了,都是一些固定的东西,我们来看下代码结构,讲一讲思路,希望大家看完,能对这个工作流程,有一个清晰的了解。
ssm框架(Spring+SpringMVC+MyBatis)实现管理系统注册功能_第1张图片
service包,可以理解成一个业务包,比如注册功能,先别急着想怎么实现,怎么和数据库相连接,我们先把它声明出来,喊一声我们需要注册功能了!下面是代码。接口名为UserService 。

public interface UserService {
    //注册
    Boolean register(User user) throws Exception;
}

声明完成后呢,我们就去想办法实现这个功能,那么我们就新建一个UserServiceIml类,来实现这个接口。

@Service
public interface UserServiceIml implements UserService {
    @Autowired
    private UserMapper userMapper;
    //注册
    public Boolean register(User user) throws Exception {
        userMapper.register(user);
        return true;
    }
}

是不是发现多了一个UserMapper类,这个类说白了就是用来与数据库交互的类,其实他也是个接口,代码如下。
在这里插入图片描述

public interface UserMapper {
    //登记车辆
    int register(Car_CarPort record);
    }
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.system.mapper.UserMapper">
   
    <insert id="register" parameterType="com.system.po.User">
    insert into user( id,name,age)
    values ( #{id,jdbcType=INTEGER},#{name,jdbcType=VARCHAR},#{age,jdbcType=INTEGER})
  </insert>
</mapper>

这两块代码分别就对应了上图代码结构里的UserMapper和UserMapper.xml,UserMapper.xml是我们写sql和数据库交互的地方,利用UserMapper.xml里这段代码与UserMapper接口绑定,这一切都是Mybatis框架的功劳,怎么绑定的我们先不管,我们只看结果,哈哈…反正你这么写,就把这两个文件绑定了


UserMapper.xml文件中,注意看SQL语句,最外层是


这就代表了查询,当然还有


增删改查这些,这些都是Mybatis框架的东西。
Sql语句中的id="register"对应着UserMapper接口中的register(User user)的方法,parameterType属性代表参数类型,也就是register(User user)里面的User类,还有一个属性是resultType,这个代表了这条查询语句要返回的数据类型。
好了,声明要干啥(注册)-和数据库交互,UserService接口声明(我要注册),然后小弟UserServiceIml听了之后把声明接过来(实现接口),吩咐UserMapper去干这个事,UserMapper只是个接口啊,他也只会声明,不能干事,于是在MyBatis框架的帮助下,UserMapper.xml通过namespace属性绑定UserMapper,利用select标签里的id属性,相当于变向实现了UserMapper接口里的同名方法(注意参数,方法名要和id属性名一对一哦)。
这个流程我们走过了,那么问题来了,是谁?要的注册这个功能,是的,就是View层,也就是用户点击咱们的注册按钮,就是这个按钮发起的 “我要注册”的命令。这就引出了controll层~。
好了下面上代码。

@Controller
public class RegisterController {
    @Resource(name = "userServiceImpl")
    private UserService userService;
    //注册表单处理
    @RequestMapping(value = "/regist", method = {RequestMethod.POST})
    public String regist(User user, Model model) throws Exception {    
           userService.regist(userlogin);  
           return "redirect:/login";
    }
}

说一下model,看这句代码(上面代码没有,别找了)

model.addAttribute("message", "用户已经注册");
return "error"

其实就是往error.jsp页面传值,

${message}

这段代码其实在error.jsp页面就等于是

用户已经注册

现在流程就一目了然了,在点击注册按钮后,进入regist()方法,然后去找UserService ,UserService去找UserServiceIml,UserServiceIml去找UserMapper,UserMapper绑定UserMapper.xml,UserMapper.xml往数据库写入数据,完,大结局了。哦豁…希望跟我一样的小白白们,不要一看那么多框架,好害怕啊,都不会…就放弃了。其实框架就是帮你干活的,你把东西交给他来做而已。看看我们只要写个流程而已~。至于你要写其他的业务,那就再让Service喊一嗓子,个部门就位了action!
敲得不容易,有幸被转载的话,请标明出处

你可能感兴趣的:(ssm框架,java,ssm,管理系统,注册,mysql)