持久层
配置mybatis
1.在pom.xml文件中添加mybatis依赖
2.数据库连接数据写入jdbc.properties文件,指定mybatis.mappers-location=classpath:mappers/*.xml路径
3.在StoreApplication启动类中配置注解@MapperScan("")指定xml文件所在文件夹/路径
4.在resources文件夹中配置多个.xml文件,存入sql语句。添加<mapper namespace="">,指定持久层的操作接口mapper。
- xml文件中的个别类需添加as别名,以方便持久层操作。
Mapper接口,如UserMapper通过调用.xml文件操作底层数据。update方法中,set多个参数由前端页面传入;或者select方法中,where多个参数由前端页面传入,在xml中出现#{}占位符号,前端变量与后端变量命名规则不同,则接口中参数前需添加@Param(“”)注解。增删改操作成功则返回1,查操作成功返回相应数据。删改操作要记录modifiedUser,modifiedTime。
业务层
只涉及业务逻辑和数据底层间的交互,id和username等验证信息不可涉及HttpSession。
IService接口,如IUserService,着眼于业务,部分照抄mapper接口的方法,增删改操作成功不返回数据,查操作成功返回数据。如果操作失败则抛出异常,增删改的成败判定参照mapper接口方法的返回值。
@Service ServiceImpl类,实现IService接口,自动装配Mapper接口。私密重写Mapper接口方法,增删改操作参照Mapper接口方法,未能返回1则抛出异常。再公开重写IService接口方法,调用已私密重写的方法,调用Mapper接口操作数据库,如有,抛出异常。
控制层
统筹前后端的双向交互。能够使用从前端页面收到的数据,如用户输入的address对象,并解析HttpSession生成验证信息等。
BaseController类,写明getUidFromSession方法,填充异常处理时返回的JsonResult,并添加@ExceptionHandler({...class})方法注解,指明需对异常进行处理的类。自动装配ISerivce接口。
Controller类,继承BaseController类,添加@RestController(结合responsebody及controller),@RequestMapping注解。返回JsonResult数据给前端显示页面。
配置启动类
添加
@SpringBootApplication
@Configuration
@MapperScan("cn.tedu.store.mapper")
配置测试类
添加
@RunWith(SpringRunner.class)
@SpringBootTest