Advertisement
Guest User

Untitled

a guest
Oct 31st, 2014
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. CREATE PROCEDURE dbo.spCheckPerson (
  2. @inXML XML,
  3. @outXML XML OUTPUT,
  4. @inDebug BIT = 0 )
  5. AS
  6. --do sth
  7.  
  8. SET @outXML = '<person><name>Piotr</name></person>'
  9.  
  10. RETURN 0
  11.  
  12. import java.sql.Types;
  13. import java.util.Map;
  14.  
  15. import javax.sql.DataSource;
  16.  
  17. import org.springframework.jdbc.core.JdbcTemplate;
  18. import org.springframework.jdbc.core.SqlOutParameter;
  19. import org.springframework.jdbc.core.SqlParameter;
  20. import org.springframework.jdbc.core.simple.SimpleJdbcCall;
  21. import org.springframework.jdbc.support.xml.Jdbc4SqlXmlHandler;
  22.  
  23. public class PersonDAOImpl implements PersonDAO {
  24.  
  25. private JdbcTemplate jdbcTemplate;
  26. private SimpleJdbcCall spCheckPerson;
  27.  
  28. public PersonDAOImpl(DataSource dataSource) {
  29. jdbcTemplate = new JdbcTemplate(dataSource);
  30. }
  31.  
  32. @Override
  33. public String checkPersonData(String personData) {
  34. Jdbc4SqlXmlHandler sqlXmlHandler = new Jdbc4SqlXmlHandler();
  35. spCheckPerson = new SimpleJdbcCall(jdbcTemplate)
  36. .withoutProcedureColumnMetaDataAccess()
  37. .withProcedureName("spCheckPerson")
  38. .declareParameters(new SqlParameter("inXML", Types.SQLXML))
  39. .declareParameters(new SqlOutParameter("outXML", Types.SQLXML));
  40. Map<String, Object> result = spCheckPerson.execute(sqlXmlHandler.newSqlXmlValue("<test>Test</test>"));
  41. return (String) result.get("outXML");
  42. }
  43.  
  44. }
  45.  
  46. SEVERE: Servlet.service() for servlet [SpringDispatcher] in context with path [/TestSpringProject] threw exception [Request processing failed; nested exception is java.lang.ClassCastException: com.microsoft.sqlserver.jdbc.SQLServerSQLXML cannot be cast to java.lang.String] with root cause
  47. java.lang.ClassCastException: com.microsoft.sqlserver.jdbc.SQLServerSQLXML cannot be cast to java.lang.String
  48. at pl.test.dao.PersonDAOImpl.checkPersonData(PersonDAOImpl.java:32)
  49. at pl.test.controller.HomeController.listPerson(HomeController.java:20)
  50. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  51. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  52. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  53. at java.lang.reflect.Method.invoke(Method.java:601)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement