项目一:注册

项目一,注册

导入项目,报错,因为缺少MyBatis的配置文件

spring.datasource.url=jdbc:mysql://localhost:3306/tedu_store?useUnicode=true&characeterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root

mybatis.mapper-locations=classpath:mappers/*.xml

看测试类中的空方法是否正常执行

看是否获得数据库连接

此时需要创建数据库,否则会抛出异常

创建表

创建实体类

因为有些表的字段是每个表都会有的,所以可以创建实体类的基类储存这些字段

创建cn.tedu.store.entity.BaseEntity

这个类可以是抽象的,然后让相应的实体类继承这个基类,还要有对应的get/set方法,实现Serializable接口

创建cn.tedu.store.entity.User。。。实现基类。。。还有有对应的SET/GET/toString/equals和hashCode方法,实现Serializable接口

创建持久层

在启动类之前添加@MapperScan(“com.abc.Aotian.mapper”)以配置持久层接口所在的包

注册的SQL语句,应该先查询用户名是否存在,在判断是否新增

创建com.abc.Aotian.mapper.UserMapper接口

创建mapper.xml配置文件

创建com.abc.Aotian.UserMapperTests类测试持久层

创建业务层

规划异常

执行新增sql可能产生异常

com.abc.Aotian.service.ex.InsertException

用户名被占用可能产生异常

com.abc.Aotian.service.ex.UsernameDuplicateException

创建这两个异常类的基类

com.abc.Aotian.service.ex.ServiceException

他们都应该是

RuntimeException

的子孙类

创建业务层接口

com.abc.Aotian.service.IUserService
添加抽象方法
void reg(User user) throws UsernameDuplicateException, InsertException;

创建业务层实现类com.abc.Aotian.service.impl.UserServiceImpl

实现以上IUserService接口,添加@Service注解,并在类中声明@Autowired private UserMapper userMapper;持久层对象:

具体实现
创建com.abc.Aotian.service.UserServiceTests测试类,编写并执行单元测试:

创建控制器层

处理异常

创建响应结果的数据类型com.abc.Aotian.util.JsonResult:

public class JsonResult {

private Integer state;
private String message;
private T data;

public Integer getState() {
    return state;
}

public void setState(Integer state) {
    this.state = state;
}

public String getMessage() {
    return message;
}

public void setMessage(String message) {
    this.message = message;
}

public T getData() {
    return data;
}

public void setData(T data) {
    this.data = data;
}

}

在统一处理异常时,相关代码只能作用于当前控制器类,
为了使得整个项目都可以使用这个统一处理异常的机制,应该把相应代码添加在控制器类的基类
com.abc.Aotian.controller.BaseController中

public class BaseController {

@ExceptionHandler(ServiceException.class)
public JsonResult<Void> handleException(Throwable e) {
    JsonResult<Void> jr = new JsonResult<Void>();
    jr.setMessage(e.getMessage());

    if (e instanceof UsernameDuplicateException) {
        jr.setState(2);
    } else if (e instanceof InsertException) {
        jr.setState(3);
    }

    return jr;
}

}

创建com.abc.Aotian.controller.UserController控制器类,继承自BaseController,
添加@RestController和@RequestMapping(“users”)注解,并在类中添加@Autowired private IUserService userService;业务层对象,

@RequestMapping(“reg”)
public JsonResult reg(User user) {
// 执行注册
userService.reg(user);
// 返回成功
JsonResult jr = new JsonResult();
jr.setState(1);
return jr;
}

打开浏览器,输入http://localhost:8080/user/reg?username=Alex&password=1234进行测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值