ibatis spring 怎样用注解的方式注入sqlMapClient

使用extends SqlMapClientDaoSupport不知道怎样用 Annotation 注入SqlMapClient
不过我没有用这个模版了,我直接用的SqlMapClient
@Resource(name="sqlMapClient")
private SqlMapClient sqlMapClient;
不过还是谢谢的的回答

spring3.0注入sqlMapClient的几种方式:
bean定义:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/cms" />
<property name="username" value="root" />
<property name="password" value="19860619" />
</bean>

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

a.在context中装载sqlMapClient并建立sqlMapClientfactory,每次执行sql操作都从factory中获取sqlMapClient.factory获取bean方法:
WebApplicationContext wac = ContextLoader
.getCurrentWebApplicationContext();
SqlMapClient sqlMapClient = wac.getBean("sqlMapClient",
SqlMapClient.class);

b.在每个DAO中使用spring注解注入sqlMapClient:
@Autowired
@Qualifier("sqlMapClient")
private SqlMapClient sqlMapClient;

c.创建BaseDao继承SqlMapClientDaoSupport,所有DAO都继承BaseDao.BaseDao中注入sqlMapClient:
@Autowired
@Qualifier("sqlMapClient")
public void setSqlMapClientForAutowired(SqlMapClient sqlMapClient) {
super.setSqlMapClient(sqlMapClient);
}
该方法实际上是使用了sqlMapclientTemplate并向template注入sqlMapClient。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-12-01
我想你看的参考手册说的那种配置绝对不是Spring的获取方式,Spring自身有一个ibatis模板类SqlMapClientTemplate,你继承这个类就可以获取你想要的东西,这是一种叫做模板方法的设计模式,Spring使用这种设计模式来管理Dao的通用增删改查方法,很方便。

还有,最好把你的出错信息,以及配置发上来,这样才能更准确的对问题进行定位。本回答被提问者采纳

spring mvc +ibatis 怎样配置自动加载多个sqlmap.xml文件
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <!-- 1. 配置单个SqlMapConfig.xml, 使用configLocation属性--> <property name="configLocation" value="classpath:SqlMapConfig.xml"\/> <!-- 2. 配置多个SqlMapConfig.xml, 使用configLocations属性--> <!-...

spring mvc +ibatis 怎样配置自动加载多个sqlmap.xml文件
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value>WEB-INF\/conf\/SqlMapConfig.xml<\/value> <\/property> <property name="mappingLocations"> <value>classpath*:com\/skyjoo\/neweast\/biz\/**\/**\/*_mapping.xml<\/valu...

Ibatis中SqlMapClientTemplate和SqlMapClient的区别
return (Integer)this.sqlMapClientTemplate.insert("Account.insertAccount", account);} } SqlMapClient:1、在spring中的配置 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="dataSource" ref="dataSource" \/> <property name="configLocation"...

spring配置数据库的别名例如<property name="alias" value="${jdbc.al...
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation" value="\/WEB-INF\/sqlmap-config.xml"\/> <property name="dataSource" ref="dataSource"\/> <\/bean> 注意你的sqlmap-config.xml的路径,别写错了。然后在你的DAO层,创建sql...

ibatis查询问题 SqlMapClient operation; uncategorized SQLExce...
没有queryForObject(id,String ,String);这方法 你参数列表错误 可以这样写 queryForObject(id, parameterObject)及empBean em=new empBean();queryForObject("logins",em);

No SqlMapClient specified怎么解决?谢谢。spring + ibatis。
应该是spring注入ibatis 失败 或者你没有注入 在spring配置文件里 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"><value>classpath:SqlMapConfig.xml<\/value><\/property> <\/bean> ...

面试Ibatis与mybatis区别
也就是数据库就连接好了,然后再service里面调用dao就可以了,但是ibatis则不可以,必须要写dao的实现类,在写个什么return getSqlMapClientTemplate().queryForList()神马的,所以说mybatis是ibatis的升级版本,也就是在这里,不用写dao的实现类,还有些区别就是xml里面的sql语句的写法有些小变化,但是不大 ...

SqlMapClientFactoryBean是什么意思
这个是Spring提供的用于构建ibatis的客户端sqlmapclient对象工厂,所在包为spring.jar

mybatis 替换hibernate basedao封装 怎么重新写呢
1:要改继承类,DAO的实现类需要继承SqlMapClientDaoSupport ,然后再DAO类中就可以使用了。2:spring 中的配置文件 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value>classpath:SqlMapConfig.xml<\/value> <\/property> <...

ibatis resultMap的子元素result问题
方式一:也就是你那种;<typeAlias alias="resourceVO" type="com.XXXXX.resourceVO" \/> <resultMap id="resourceEntity" class="resourceVO"> <result column="id" property="id" jdbcType="INTEGER" \/> <result column="name" property="name" jdbcType="VARCHAR" \/> <result column="level"...

相似回答