我用的是 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方法出错");
请高手帮忙
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):
- 导入hibernate3.jar
- 导入required里面所有的jar包
- 导入jpa里面的包
- 完成映射文件;
- 完成DAO接口;
- 导入spring相关的包;
- 继承HibernateDaoSupport完成dao的实现
- Spring和Hibernate集成的配置文件:
- 配置一个datasource,这个datasource是准备传给hibernate的
- 配置<property-placeholder>引入数据库连接信息相关的properties
- 配置sessionFactory
- 不使用hibernate.cfg.xml文件
- 需要传入一个dataSource;
- 通过<property name="hibernateProeprties>传入hibernate的配置信息
- 通过<property name="mappingResources">传入所有的映射文件
-
-
- 使用hibernate.cfg.xml文件
- 需要传入一个dataSource
- 需要通过<property name="configLocation">传入hibernate.cfg.xml的地址
- 配置一个基础的DAO
- 创建一个applcationContext-dao.xml,在这个文件里面配置dao的实现;
- 在applicationContext.xml中引入相关配置文件;
-
9.完成Service接口;
10.完成Service的实现;
11.配置service
12.配置事务
- 配置transactionManager,使用HibernateTransactionManager,这里面需要一个sessionFactory;
- 配置事务通知
- 配置aop切面
13.Struts2和Spring集成
- 导入struts的jar包
- 完成Action
- 在spring中配置action,scope必须为prototype;
- 加入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代码执行到(代码在下面),就报错(报的错也在下面)的主要内容,如果未能解决你的问题,请参考以下文章
ibatis selectkey返回值在spring中怎么取