jdbcTemplate空.png

jdbcTemplate空.png

反话 发布于 2021-11-27 字数 849 浏览 783 回复 7

jdbcTemplate空.png

jdbcTemplate是不是没有注入???

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
@Service
public class JdbcTemplateTest {    
	  private JdbcTemplate jdbcTemplate;    
	  public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {    
	  this.jdbcTemplate = jdbcTemplate;    
	  }    
	  public  void test(){    
	     this.jdbcTemplate.execute("call sp_insert_table('100001')");    
	  }    
	  
	  public static void main(String[] args) {
           JdbcTemplateTest j =new JdbcTemplateTest();
           j.test();
	  }
}

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

灵芸 2021-12-01 7 楼

哥哥啊,不能用 new 啊。。。你这样注入会无效的。记住,凡是自己手动new的类,spring是没法注入的。

你要测试,就用junit测试,通过ApplicationContext来根据名字获取bean。

旧城烟雨 2021-12-01 6 楼

额,还能这样子用。 

凡尘雨 2021-12-01 5 楼

没有注入。

要不用注解:@Autowired  

要不就用xml配置,你都用@Service 了,那就用注解吧。

还有个前提是xml必须有这个配置:

<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <!--数据源,看自己的定义了-->
    <property name="dataSource" ref="dataSource" />
</bean>

坚持沉默 2021-12-01 4 楼

jdbcTemplate.execute("call sp_testu_table("+sessionId.substring(0, 5)+ ","+sessionId.substring(6, 9)+")");    

传的参数个数不对

不乱于心 2021-12-01 3 楼

 ERROR:org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [call sp_testu_table('101')]; nested exception is java.sql.SQLException: ORA-06553: PLS-306: wrong number or types of arguments in call to 'SP_TESTU_TABLE'

,AND COST TIME 54 MS

自此以后,行同陌路 2021-11-30 2 楼

这不是关键,关键是他用了 new

筱武穆 2021-11-30 1 楼

你得用junit测试才行吧