spring+ibatis在spring配置文件中注入sqlmapclient时,一直报错,详情代码...
发布网友
发布时间:2022-04-30 02:14
我来回答
共1个回答
热心网友
时间:2022-04-08 10:18
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。
spring配置的问题
应该在是你的imageDAO实现即imageDAOImpl里调用sqlMapClient出错,Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Property 'sqlMapClient' is required 你看下你的sqlMapClient写得是否正确,ibatis中应该是静态初始化获得sqlMapClient然后调用 mapped statement 操作数据...
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> ...
spring+ibatis启动报错
已解决, 是因为实体类的映射文件里面的resultClass名称多了一个字母.自查自省啊。
ibatis spring 怎样用注解的方式注入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...
spring mvc +ibatis 怎样配置自动加载多个sqlmap.xml文件
现在通过Spring配置以上几个SqlMapConfig.xml Java代码 <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <!-- 1. 配置单个SqlMapConfig.xml, 使用configLocation属性--> <property name="configLocation" value="classpath:SqlMapConfig.xml"/> <!-- 2. 配置...
spring配置文件中的org.apache.commons.dbcp.BasicDataSource
Principle:Don't call us, we'll call you(别找我,我会来找你的)。也就是说,所有的组件都是被动的(Passive),所有的组件初始化和调用都由容器负责。组件处在一个容器当中,由容器负责管理。dataSource中property就是采用依赖注入。不知道你是否理解,可以看一本书《spring in action》...
使用eclipse导入 Java Web 项目,一运行总是报错
那是人家在之前的环境不断调试的结果 只有自己从头到尾作 你的人家拿去也不行 我曾经试过 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener 你的配置文件检查下 监听这些 包的导入等等 ...
严重: Servlet.service() for servlet SpringDispatcherServlet th...
从这行错误at com.ibatis.sqlmap.engine.accessplan.PropertyAccessPlan.setProperties 和抛出的异常IllegalArgumentException【抛出的异常表明向方法传递了一个不合法或不正确的参数。】,可以推断你的ibatis配置文件有一个参数设置有问题。
spring配置数据库的别名例如<property name="alias" value="${jdbc.al...
你的spring配置文件里面要加上这段:<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的路径,...
如何从Spring 获取 Connection
运行期从ibatis配置文件中获取sql 1.通过SqlMapClientDaoSupport,SqlMapClientImpl,MappedStatement,Sql,RequestScope等ibatis提供的类 public List<UserInfo> getUserList(UserInfo userInfo) { String sql = null;SqlMapClientImpl sqlmap = (SqlMapClientImpl) this.getSqlMapClient();MappedStatement stmt = ...