SSM简单整合笔记 实现查询功能
相关知识Spring SpringMVC Mybatis的关系
SpringMVC负责实现MVC设计模式
Mybatis负责持久层
Spring负责管理SpringMVC与Mybatis
- Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架,为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此Java开发者可以专注于应用程序的开发。
- Spring MVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架
- MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
选择从原型创建 webapp
1.配置pom.xml主要是配置dependencies
2.配置web.xml 配置SpringMVC,Spring,以及字符编码过滤器,静态资源管理器。junit junit 4.13.2 test org.springframework spring-webmvc 5.3.13 org.springframework spring-jdbc 5.3.13 org.springframework spring-context 5.3.13 org.springframework spring-aop 5.3.13 org.springframework spring-aspects 5.3.13 org.mybatis mybatis 3.5.7 org.mybatis mybatis-spring 1.3.1 mysql mysql-connector-java 8.0.25 com.alibaba druid 1.2.8 jstl jstl 1.2 org.apache.tomcat servlet-api 6.0.53 org.apache.tomcat tomcat-api 10.0.14 org.projectlombok lombok RELEASE compile
9.实现Controller层Archetype Created Web Application return userDao.findAll(); } } contextConfigLocation classpath:applicationContext.xml
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping
public ModelAndView index() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("index");
modelAndView.addObject("list", userService.findAll());
return modelAndView;
}
}
10.编写前端jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
Title
List
--${user.toString()}--
11.运行结果
成功查询
List --User(id=1, name=Lucy, password=123, score=78.0, birthday=Thu Dec 23 00:00:00 HKT 2021)–
–User(id=2, name=Jack, password=123, score=80.0, birthday=Wed Dec 05 00:00:00 HKT 2018)–
–User(id=3, name=Tim, password=123, score=70.0, birthday=Thu Dec 09 00:00:00 HKT 2021)–
–User(id=4, name=Cook, password=123, score=80.0, birthday=Wed Dec 08 00:00:00 HKT 2021)–
–User(id=5, name=Tom, password=111, score=89.0, birthday=Tue Dec 07 00:00:00 HKT 2021)–
1.在配置applicationContext整合mybatis文件中遇到了报错
Error creating bean with name ‘sqlSessionFactoryBean’ defined in class path
主要是Error creating bean with name ‘sqlSessionFactory’,这个是在XXX.xml(spring和mybatis整合的xml文件)中定义。并且出现的,其主要意思是xml文件没有配置好。原因大概有以下:
1.spring和mybatis结合的时候在spring配置bean的配置文件中没有把配置sqlSessionFactory中的dataSource和配置数据库连。
连接池的dataSource放在同一个配置文件中;
2.mybatis的xml配置文件没有把mybatis的映射文件和Dao接口相互关联配置在一起;
3.虽然定义了数据库连接池的信息,但是可能没有连接到数据库;
我的解决方案:首先确认了数据库在数据库连接池中的配置并确定了数据库的连接状态完好,其次将有关dataSource有关的mybatis配置以及数据库连接池的配置都放在了同一个spring的xml配置文件中,最后再次需要确定spring、mybatis以及数据库连接池之间的相互关联关系是正常的,需要检查mybatis的xml配置文件和
(这个问题参考原文链接:https://blog.csdn.net/zjw_0013893172772/article/details/79922622)
我的错误是由于此处引起的,把com.dao写为com就会报错。
2.MyBatis查询数据报错 Request processing failed; nested exception is org.mybatis.spring.MyBatisSyst
原因 mapper文件中SQL语句写错了。 这里的resultType应当是User类,之前写为List了。
SELECT id, name, password, score, birthday FROM user;
部分参考原文链接:
https://blog.csdn.net/a745233700/article/details/80963758
https://blog.csdn.net/zjw_0013893172772/article/details/79922622
https://blog.csdn.net/qq_41701956/article/details/116354268



