因为从事手机端开发,并非后端开发,ssm框架也是这几天现学现卖,所以以下内容如果有不正确的地方,欢迎大家指正,谢谢。之所以写这篇文章,一是做一个学习总结(其实是怕以后想用ssm框架,想不起来怎么写…),二就是想与那些跟我一样的,没什么基础又想学习的人分享下心得,废话不多说,进入正题。
数据库:5.5
服务器:Tomcat8.5
开发工具:IntelliJ IDEA
框架配置就不多说了,都是一些固定的东西,我们来看下代码结构,讲一讲思路,希望大家看完,能对这个工作流程,有一个清晰的了解。
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页面传值,
这段代码其实在error.jsp页面就等于是${message}
用户已经注册
现在流程就一目了然了,在点击注册按钮后,进入regist()方法,然后去找UserService ,UserService去找UserServiceIml,UserServiceIml去找UserMapper,UserMapper绑定UserMapper.xml,UserMapper.xml往数据库写入数据,完,大结局了。哦豁…希望跟我一样的小白白们,不要一看那么多框架,好害怕啊,都不会…就放弃了。其实框架就是帮你干活的,你把东西交给他来做而已。看看我们只要写个流程而已~。至于你要写其他的业务,那就再让Service喊一嗓子,个部门就位了action!
敲得不容易,有幸被转载的话,请标明出处