Servlet.service() for servlet Student threw exception
com.ibatis.sqlmap.client.SqlMapException: There is no statement named in this SqlMap.
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:293)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:606)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:589)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
at org.springframework.orm.ibatis.SqlMapClientTemplate$3.doInSqlMapClient(SqlMapClientTemplate.java:298)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:209)
at org.springframework.orm.ibatis.SqlMapClientTemplate.executeWithListResult(SqlMapClientTemplate.java:249)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:296)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForList(SqlMapClientTemplate.java:290)
at pack.java.demo.basedao.BaseDao.queryAll(BaseDao.java:26)
解决方案:是我在service层,没有配置Student.xml文件中需要的name,也就是别名;
<sqlMap>
<typeAlias alias="Student" type="pack.java.demo.pojos.Student" />
<select id="selectStudentAll" resultClass="Student">
select * from Student
</select>
public List<Student> queryStudentALl() {
// TODO Auto-generated method stub
return studentDao.queryStudentALl(//把这个地方设置为selectStudentAll就行了.就能找到Student.xml文件别名为selectStudentAll这个映射文件了.);
}
分享到:
相关推荐
在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势在于其强大的SQL查询能力和对结果集的灵活...
SqlMapConfig.xml 是 iBatis 3 的总配置文件,用于配置数据库连接、事务管理、Mapper 文件等内容。下面是一个简单的 SqlMapConfig.xml 文件示例: ```xml <property name="driver" value="oracle.jdbc....
在本文档中,我们将详细介绍iBatis在处理多对多关系时的配置和实现。 多对多关系 多对多关系是一种常见的关系数据库设计模式,用于描述两个实体之间的多对多关系。在本例中,我们将使用学生(Student)和教师...
在学员管理的例子中,我们可以创建一个`Student`类,然后在IBatis的XML配置文件中定义CRUD操作: ```xml <select id="selectStudentById" parameterType="int" resultType="com.example.Student"> SELECT * FROM ...
4. **Mapper接口和XML配置文件**: 通过Mapper接口定义数据库操作的方法,XML配置文件中编写对应的SQL语句,两者通过注解或namespace关联。 **学生信息管理示例中的关键组件** 1. **实体类(Student)**: 表示学生...
在Java代码中,我们需要创建一个接口`StudentMapper`,并在其中声明对应的操作方法,这些方法将由Ibatis自动映射到XML文件中的SQL语句。 ```java public interface StudentMapper { void insertStudent(Student ...
1. **SQL语句独立性**:Ibatis将SQL语句从Java源程序中抽离出来,放置于单独的XML文件中编写,这使得在后期对程序进行维护时变得更加便捷。 2. **简化开发工作**:通过封装底层JDBC API的调用细节,Ibatis能够自动将...
本文将详细介绍如何实现ibatis与Spring框架的完全整合,包括数据库配置、实体类设计、DAO层实现、配置文件编写等方面。 #### 二、环境搭建与配置 ##### 2.1 数据库配置 首先,我们需要创建一个MySQL数据库以及相应...
5. 在iBatis的SQL映射文件中编写SQL语句,如`Student.xml`中的`getStudentById`和`insertStudent`。 6. 在Spring配置文件中定义业务接口的bean,并注入实现类。 通过以上配置,Spring能够通过`SqlMapClientTemplate...
2. **配置文件**:创建配置文件,通常有两个主要的配置文件,一个是全局配置文件`SqlMapConfig.xml`,用于定义数据源、事务管理等信息;另一个是映射文件,针对每个实体类,例如`Student.xml`,它包含SQL语句和结果...
- **映射文件**:针对每个实体类,需要创建对应的XML文件(如Student.xml),在这个文件中定义SQL语句和结果映射。 接下来,我们以一个简单的例子——Student类——来了解如何在iBatis中进行操作: ```java // ...
在你的`SqlMapConfig.xml`文件中,你需要添加如下配置: ```xml <property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <property name="url" value="jdbc:sqlserver://localhost:...
为了告知Spring如何找到`Student.xml`文件,我们需要创建一个iBatis配置文件`sql-map-config.xml`: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS....
为了使ibatis能够正确地执行SQL语句并返回结果集,需要配置ibatis的核心配置文件(如`SqlMapConfig.xml`)以及具体的映射文件(如`Student.xml`)。 ##### 4.1 SqlMapConfig.xml 这是ibatis的核心配置文件,主要...
iBatis 3是一个持久层框架,它允许开发者通过XML配置文件或注解来映射SQL语句,从而简化了Java应用程序与数据库之间的交互。 ### 1. iBatis 3核心包的导入 要开始使用iBatis 3,首先需要下载其核心包,并将其导入...
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" ... <sqlMap resource="com/itcast/Student.xml" /> </sqlMapConfig>
iBATIS的配置文件主要通过XML格式来定义,其中包含了全局设置、事务管理器、数据源等关键组件的配置。 ##### 2.1 配置文件结构 ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-/...