`
younglibin
  • 浏览: 1211836 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

No SqlMapClient specified

 
阅读更多

1.今天在搭建 struts2.3.4 + spring 3.1.3+ibatis2.* 的时候,使用spring注入 mysql数据库,按照ibatis配置之后,在 配置到的时候,一直出现No SqlMapClient specified 这个错误,详细如下

 

 

java.lang.IllegalArgumentException: No SqlMapClient specified
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:157)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:268)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:262)
at com.om.dao.common.AbstractDaoImpl.selectCount(AbstractDaoImpl.java:11)
at com.om.dao.DaoTestImpl.getCount(DaoTestImpl.java:9)

 

 

我的 java 代码 是:

package com.om.dao.common;

import org.springframework.orm.ibatis.SqlMapClientTemplate;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

public class AbstractDaoImpl extends SqlMapClientDaoSupport implements AbstarctDao {

//获得一个公共的模板

private SqlMapClientTemplate sqlMapClientTemplate = this.getSqlMapClientTemplate();
@Override
public int selectCount(String sql) {
Object obj = sqlMapClientTemplate.queryForObject(sql);
if(null != obj){
return Integer.valueOf(obj.toString());
}else{
return 0;
}
}
}

 

 

然后我修改java代码之后就可以了,不会再出现错误:

 

 

 

package com.om.dao.common;

import org.springframework.orm.ibatis.SqlMapClientTemplate;
import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;

public class AbstractDaoImpl extends SqlMapClientDaoSupport implements AbstarctDao {

// private SqlMapClientTemplate sqlMapClientTemplate = this.getSqlMapClientTemplate();
@Override
public int selectCount(String sql) {
// 注意修改的是这里 ,直接让 获得模板的方法在这里使用 ,

Object obj = this.getSqlMapClientTemplate().queryForObject(sql);
if(null != obj){
return Integer.valueOf(obj.toString());
}else{
return 0;
}

 

 

 

到现在也没弄明白 这个为什么第一种方式不行? 待解答 ,查看资料 继续

...................

分享到:
评论

相关推荐

    SqlMapClient对象.pdf

    通过调用`SqlMapClient.startTransaction()`开启事务,`SqlMapClient.commitTransaction()`提交事务,或者`SqlMapClient.rollbackTransaction()`回滚事务。 6. **异常处理**: 在初始化SqlMapClient或执行数据库...

    SqlMapClient对象.docx

    `SqlMapClient`对象是iBatis的核心接口,它提供了对数据库进行CRUD(Create、Read、Update、Delete)操作的能力,并且支持事务管理。由于`SqlMapClient`是线程安全的,因此在实际应用中,通常会将其作为单例模式来...

    ibatis批量处理

    SqlMapClient sqlMapClient = sqlMapClientTemplate.getSqlMapClient(); try { // 开始事务 sqlMapClient.startTransaction(); // 开始批处理 sqlMapClient.startBatch(); for (Reply reply : replyList) {...

    传智播客ibatis视频教程源代码

    private static SqlMapClient sqlMapClient = null; static { try { Reader reader = com.ibatis.common.resources.Resources.getResourceAsReader("com/itcast/SqlMapConfig.xml"); sqlMapClient = ...

    Spring高版本对ibatis的支持

    <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <value>classpath:SqlMapConfig.xml <property name="dataSource" ref="dataSource"></property> ...

    ibatis_教程_详解.doc

    SqlMapClient可以通过SqlMapClientBuilder类来构建,这个类提供了加载XML配置文件并初始化SqlMapClient的方法。 Ibatis的配置文件中,你可以定义SQL语句的映射,这些映射位于独立的XML文件中,通常命名为xxxSqlMap....

    SPRING IBATIS 保留IBATIS事务的配置方式

    SqlMapClient sqlMapClient = (SqlMapClient) applicationContext.getBean("sqlMapClient"); ``` 2. **开启事务**:使用SqlMapClient提供的方法开启一个新的事务。 ```java Transaction tx = new Transaction...

    ibatis 使用简单配置

    下面是创建`SqlMapClient`实例的一个示例类`SqlMapUtil`,该类通过静态方法`getSqlMapClient()`返回`SqlMapClient`实例。 ```java import java.io.IOException; import com.ibatis.common.resources.Resources...

    Ibatis应用事例

    - **SqlMapClient 实例化**:通过 `SqlMapClientBuilder` 创建 `SqlMapClient` 实例,这是Ibatis的核心组件之一。 - **QueryForList 方法**:用于查询所有记录,其中 `"queryAll"` 是映射文件中 `<select>` 元素的 `...

    ibatis多对多关系(详细)

    public StudentDAO(SqlMapClient sqlMapClient) { this.sqlMapClient = sqlMapClient; } public List<Student> getStudentsByTeacherId(String teacherId) { return sqlMapClient.queryForList(...

    IBATIS实用记录

    3.3 SQLMAPCLIENT基本操作示例 6 3.3.1 数据写入操作(insert, update, delete) 6 3.3.2 数据查询 (select) 7 3.3.3 在指定对象中存放查询结果(select) 7 3.3.4 执行批量查询 (select) 7 3.3.5 关于AutoCommit 7 ...

    ibatis的两种方式实现批处理.doc

    在批处理操作中,需要使用SqlMapClient的startTransaction()方法来启动事务,startBatch()方法来启动批处理,然后执行批处理操作,最后使用executeBatch()方法来执行批处理,commitTransaction()方法来提交事务。...

    SSI框架整合实例

    部分配置代码,所有代码都有,很全 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <value>classpath:jdbc... <property name="sqlMapClient" ref="sqlMapClient"> </bean>

    ibatis的使用教程

    例如,使用 `sqlMapClient.queryForObject(id, parameter)` 执行查询,`sqlMapClient.insert(id, parameter)` 插入数据等。 **Ibatis API** Ibatis 提供了一些基本的API,如查询、添加、删除和修改方法。通常,会...

    ibatis资料pdf

    SqlMapClient sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(Resources.getResourceAsStream("SqlMapConfig.xml")); // 执行查询 List<Account> accounts = (List) sqlMapClient.queryForList("getAccount...

Global site tag (gtag.js) - Google Analytics