package zjc.test; import org.apache.ibatis.session.SqlSession; import org.junit.Before; import org.junit.Test; import zjc.bean.Classes; import zjc.dao.IClassesDao; import zjc.factory.MybatisFactory; public class TestDao1 { IClassesDao dao; @Before public void before(){ SqlSession session = MybatisFactory.openSession(); dao = session.getMapper(IClassesDao.class); } @Test public void testQueryClassesByCid(){ Classes cls = dao.queryClassesByCid(1); System.out.println(cls.getCid()+"--"+cls.getCname()); cls.getStudents().forEach(s -> System.out.println(s.getSname())); } }
时间: 2024-04-19 13:27:44 浏览: 97
从你提供的代码来看,TestDao1类中的testQueryClassesByCid()方法中使用了cls.getStudents().forEach(s -> System.out.println(s.getSname())),这是一个Lambda表达式,其中涉及到了s.getSname()方法。
根据你的描述,错误信息提示找不到getSname()方法,这可能是因为在类型为java.lang.String的变量s上没有定义getSname()方法。
请确保Classes类中定义了一个名为getSname()的方法,并且返回类型为String。如果该方法确实存在,请检查一下方法名的拼写是否正确。另外,还要确保该方法在Classes类中是公共可访问的。
如果问题仍然存在,请提供Classes类的代码以便我能够更好地帮助你解决问题。
相关问题
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): zjc.mapper.UserMapper.findAllUser] with root cause
您好!根据您提供的信息,出现了一个异常:Request processing failed: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): zjc.mapper.UserMapper.findAllUser。这个异常通常是由于 MyBatis 配置文件中找不到指定的 SQL 语句引起的。请确保在配置文件中存在名为 "zjc.mapper.UserMapper.findAllUser" 的有效 SQL 语句。
您可以检查以下几个方面来解决这个问题:
1. 确保在 MyBatis 配置文件中正确配置了 UserMapper 接口的映射。可以检查是否存在一个名为 "zjc.mapper.UserMapper.xml" 的文件,并且其中包含了正确的 SQL 映射配置。
2. 确保在 UserMapper.xml 文件中存在一个名为 "findAllUser" 的 SQL 语句。可以检查是否存在类似以下的配置:
```xml
<select id="findAllUser" resultType="User">
SELECT * FROM users
</select>
```
这里的 "User" 是您的实体类,根据需要可能会有所不同。
3. 确保 UserMapper 接口中存在一个名为 "findAllUser" 的方法,并且与 XML 文件中的配置一致。可以检查是否存在类似以下的方法定义:
```java
List<User> findAllUser();
```
这里的 "User" 是您的实体类,方法名和返回类型需要与 XML 文件中的配置一致。
希望以上信息对您有所帮助!如果您有任何其他问题,请随时提问。
@MapperScan("zjc.mapper")
@MapperScan("zjc.mapper") 注解用于指定要扫描的 Mapper 接口所在的包路径。在这里,"zjc.mapper" 是包路径的名称,用于扫描该包下的 Mapper 接口。通过使用 @MapperScan 注解,Spring Boot 将会自动扫描指定包路径下的 Mapper 接口,并将其注册为 Spring Bean,从而可以在其他组件中进行依赖注入和使用。这样,您就可以在应用程序中轻松地使用这些 Mapper 接口来进行数据库操作。
阅读全文