我用的是 spring+struts2+jdbc代码执行到(代码在下面),就报错(报的错也在下面)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我用的是 spring+struts2+jdbc代码执行到(代码在下面),就报错(报的错也在下面)相关的知识,希望对你有一定的参考价值。

报的错Unable to translate SQLException with Error code '0', will now try the fallback translator
10:54:19,312 DEBUG SQLStateSQLExceptionTranslator:94 - Extracted SQL state class 'S1' from value 'S1009'
代码在这:
public void sava(int id, String name, String product_name, String description,
long add_time, double fixed_price, double dang_price)
try
String sql="INSERT into d_category_product(id,product_id,cat_id) VALUES('"+id+"','"+id+"','"+id+"');\n" +
"INSERT into d_category(id,turn,en_name,name,description,parent_id)VALUES('"+id+"',null,NULL,'"+name+"',null,'"+id+"');\n" +
"INSERT into d_product(id,product_name,description,add_time,fixed_price,dang_price,keywords,has_deleted,product_pic) " +
"VALUES('"+id+"','"+product_name+"','"+description+"','"+add_time+"','"+fixed_price+"','"+fixed_price+"',null,null,null)";
this.logger.debug(sql.toString());
this.jdbcTemplate.query(sql.toString(), new DnameListRowMapper());
catch (Exception e)
e.fillInStackTrace();
this.logger.debug("save方法出错");



请高手帮忙

query 是查询语句 select,你的sql 是 insert,

jdbcTemplate.update(sql)
参考技术A 首先 把你的sql语句在 赋上几个值,在数据库编辑器里执行一下,看看有没有错。 如果没错,那就是你的代码出现问题了。追问

sql语句在数据库执行没有错误。。。执行到
this.jdbcTemplate.query(sql.toString(), new DnameListRowMapper());

这个地方就报错(mysql数据库)

Spring学习笔记

J2EE的三层架构,分别是表现层,业务层,持久层

表现层用的是Struts2

业务层用的是Spring

持久层用的是Hibernate

 

S2SH3集成:

  • 新建一个web项目;
  • 建立domain;
  • 导入hibernate相关的包(因为用的是hibernate3.6):
  1. 导入hibernate3.jar
  2. 导入required里面所有的jar包
  3. 导入jpa里面的包
  4. 完成映射文件;
  5. 完成DAO接口;
  6. 导入spring相关的包;
  7. 继承HibernateDaoSupport完成dao的实现
  8. Spring和Hibernate集成的配置文件:
  1. 配置一个datasource,这个datasource是准备传给hibernate的
  2. 配置<property-placeholder>引入数据库连接信息相关的properties
  3. 配置sessionFactory
    • 不使用hibernate.cfg.xml文件
      1. 需要传入一个dataSource;
      2. 通过<property name="hibernateProeprties>传入hibernate的配置信息
      3. 通过<property name="mappingResources">传入所有的映射文件
      • 使用hibernate.cfg.xml文件
      1. 需要传入一个dataSource
      2. 需要通过<property name="configLocation">传入hibernate.cfg.xml的地址
      3. 配置一个基础的DAO
      4. 创建一个applcationContext-dao.xml,在这个文件里面配置dao的实现;
      5. 在applicationContext.xml中引入相关配置文件;

   9.完成Service接口;

   10.完成Service的实现;

   11.配置service

   12.配置事务

    1. 配置transactionManager,使用HibernateTransactionManager,这里面需要一个sessionFactory;
    2. 配置事务通知
    3. 配置aop切面

   13.Struts2和Spring集成

    1. 导入struts的jar包
    2. 完成Action
    3. 在spring中配置action,scope必须为prototype;
    4. 加入struts.xml配置文件,

      <!-- 当struts和spring集成在一起的时候,action的class就不能写action的类限定名,
      只能写这个action在spring中配置的bean对应的id -->

   5.导入spring-web.jar

   6.导入struts2和spring集成的包,struts2-spring-plugin-2.3.14.jar

   14.在web.xml中配置spring的启动监听器org.springframework.web.context.ContextLoaderListener
   15.在web.xml中配置spring启动容器加载配置文件的路径。

以上是关于我用的是 spring+struts2+jdbc代码执行到(代码在下面),就报错(报的错也在下面)的主要内容,如果未能解决你的问题,请参考以下文章

struts2 web.xml配置访问404

ibatis selectkey返回值在spring中怎么取

SSH项目的搭建

Spring学习笔记

java web断点续传,我用的是fileupload来做的上传。

纯jdbc和jdbcTemplate的批处理那个效率高