当前位置: 首页 > news >正文

留言板(Mybatis连接数据库版)

目录

1.添加Mybatis和SQL的依赖

2.建立数据库和需要的表

3.对应表中的字段,补充Java对象

4.对代码进行逻辑分层

5.后端逻辑代码


之前的项目实例【基于Spring MVC的前后端交互案例及应用分层的实现】https://blog.csdn.net/weixin_67793092/article/details/134613210?utm_source=app&app_version=6.1.7中有关对于留言板的介绍,现在使用Mybatis完成连接数据库,这样以便刷新浏览器页面后,之前输入的信息仍然能够保存在硬盘中。

之前的前端页面实现:

1.添加Mybatis和SQL的依赖

在pom.xml文件中右键

2.建立数据库和需要的表

 DROP TABLE IF EXISTS message_info;CREATE TABLE `message_info` (`id` INT ( 11 ) NOT NULL AUTO_INCREMENT,`from` VARCHAR ( 127 ) NOT NULL,`to` VARCHAR ( 127 ) NOT NULL,`message` VARCHAR ( 256 ) NOT NULL,`delete_flag` TINYINT ( 4 ) DEFAULT 0 COMMENT '0-正常, 1-删除',`create_time` DATETIME DEFAULT now(),`update_time` DATETIME DEFAULT now() ON UPDATE now(),
PRIMARY KEY ( `id` ) 
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4;

配置连接数据库application.properties文件

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://127.0.0.1:3306/mybatis_test?characterEncoding=utf8&useSSL=falsespring.datasource.username=rootspring.datasource.password=root

3.对应表中的字段,补充Java对象

4.对代码进行逻辑分层

controller接收请求,service服务层实现业务逻辑,mapper查询数据库的操作,model存放对象。

配置日志:

方便遇见问题时调试代码

mybatis:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

5.后端逻辑代码

MessageController

@Slf4j
@RequestMapping("/message")
@RestController//发布留言
public class MessageController {//    private List<MessageInfo> messageInfos=new ArrayList<>();@Autowiredprivate MessageService messageService;@RequestMapping("/publish")public Boolean publishMessage(MessageInfo messageInfo) {log.info("发表留言");//进行参数的校验if (!StringUtils.hasLength(messageInfo.getFrom())|| !StringUtils.hasLength(messageInfo.getTo())|| !StringUtils.hasLength(messageInfo.getMessage())) {return false;}//添加留言messageService.addMessage(messageInfo);return true;}
//       查看留言@RequestMapping("/getMassageInfo")public List<MessageInfo> getMessageInfo(){return messageService.getMessageInfo();}
}

MessageService

@Service
public class MessageService {@Autowiredprivate MessageMapper messageMapper;public void addMessage(MessageInfo messageInfo) {messageMapper.insertMessage(messageInfo);}public List<MessageInfo> getMessageInfo() {return messageMapper.selectAllMessage();}
}

MessageMapper

@Mapper
public interface MessageMapper {@Insert("insert into message_info(from,to,message) values (#{from},#{to},#{message}")void insertMessage(MessageInfo messageInfo);@Select("select * from message_info where delete_flag=0")List<MessageInfo> selectAllMessage();
}

代码逻辑:

http://www.lryc.cn/news/268915.html

相关文章:

  • 第十二章 Sleuth分布式请求链路跟踪
  • EasyExcel多线程批量导出数据,动态表头,静态资源访问
  • 树莓派界面改成中文
  • 软件工程期末复习
  • 【linux】select实现定时器
  • Android 13 - Media框架(28)- MediaCodec(三)
  • Azure 学习总结
  • 数据库是否可以直接作为数据仓库的数据源
  • IntelliJ IDE 插件开发 | (四)开发一个时间管理大师插件
  • 【ChatGPT 默认强化学习策略】PPO 近端策略优化算法
  • 【银行测试】金融银行-理财项目面试/分析总结(二)
  • 张江智荟毁约offer
  • ubuntu 系统终端颜色设置
  • 【Vue】class与style绑定
  • 大厂前端面试题总结(百度、字节跳动、腾讯、小米.....),附上热乎面试经验!
  • EXPLORING DIFFUSION MODELS FOR UNSUPERVISED VIDEO ANOMALY DETECTION 论文阅读
  • 当 ML 遇到 DevOps:如何理解 MLOps
  • vue+element+springboot实现多张图片上传
  • react使用useState更新数组失败
  • 《LIO-SAM阅读笔记》3.后端优化
  • mac下jd-gui提示没有找到合适的jdk版本
  • FlinkSQL窗口实例分析
  • 18-网络安全框架及模型-信息系统安全保障模型
  • Android 提取(备份)apk(安装包)
  • gRPC-Go基础(4)metadata和超时设置
  • 语言模型:从n-gram到神经网络的演进
  • docker compose 部署 grafana + loki + vector 监控kafka消息
  • kubeadm创建k8s集群
  • 鸿蒙开发之android对比开发《基础知识》
  • 2702 高级打字机