SSM整合时候的Mytabis插入的SQL错误问题

你大爷D 2017-07-20 09:52:22
Logs实体类
package com.cn.model;

private String logid;
private String ip;
private Date insertTime;
private String condate;
private String userId;
与数据库的属性是对应的,日期都是Date,别的都是varchar
Controller层获取的值之后插入
Logs log=new Logs();
log.setCondate(condate);
log.setLogid(logid);
log.setInsertTime(new Date());
log.setUserId(id);
log.setIp(ips);
Service的DAO的方法
public void inserDate(Logs log);
Service实现的方法
public void inserDate(Logs log) {
// TODO Auto-generated method stub
dao.add(log);
}
Dao的对应的插入方法
public void add(Logs log);
Dao的XML的插入
<insert id="add" parameterType="com.cn.model.Logs" >
insert into logs(logid,ip,insertTime,condate,userId) values(#{logid},#{ip},#{insertTime,jdbcType=DATE},#{condate},#{userId})
</insert>
//这是DAO。xml的三个方法的SQL,其他两个方法以及前后台走通,就中间的insert into 方法不行,一执行就报错误,请看最下面
<select id="cheks" parameterType="UserModel" resultType="int">
select count(*) from usertest where userName=#{userName} and userPassWord=#{userPassWord}
</select>
<insert id="add" parameterType="com.cn.model.Logs" >
insert into logs(logid,ip,insertTime,condate,userId) values(#{logid},#{ip},#{insertTime,jdbcType=DATE},#{condate},#{userId})
</insert>

<select id="findOne" parameterType="String" resultType="UserModelS">
select * from usertest where userName=#{userName}
</select>
这是错误
org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [SpringServlet] in context with path [/Together] threw exception [Handler processing failed; nested exception is java.lang.AbstractMethodError: oracle.jdbc.driver.OracleConnection.prepareStatement(Ljava/lang/String;I)Ljava/sql/PreparedStatement;] with root cause
java.lang.AbstractMethodError: oracle.jdbc.driver.OracleConnection.prepareStatement(Ljava/lang/String;I)Ljava/sql/PreparedStatement;
...全文
206 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Steven_sf 2017-07-20
  • 打赏
  • 举报
回复
首先,你可以先不插入comdate数据,防止date数据类型造成的错误,然后,你改一下parameterType的值,将它改为你的dao层里面方法的参数的名称试试。
xwn_2016 2017-07-20
  • 打赏
  • 举报
回复
需不需要都指定jdbcType
你大爷D 2017-07-20
  • 打赏
  • 举报
回复
手贱网上复制粘贴配置文件里了,我数据库没设置则增长大爷的,所以就不行还有就是jar有俩冲突,不显示错误,classes和ojd,删了clas. ,jar冲突没了就显示的这个错误SQL出现 不支持的特性错误。 日期直接外面new Date就行,或者new Timestamp((new Date()).getTime()),外面怎么插入都行,这俩都OK,都可以, <insert id="add" parameterType="com.cn.model.Logs"> insert into logs(logid,ip,insertTime,condate,userId) values(#{logid},#{ip},#{insertTime},#{condate},#{userId}) </insert> 下面的是配置文件错的地方,叫我删了就行了, //使用jdbc的getGeneratedKeys获取数据库自增主键值 <setting name="useGeneratedKeys" value="true" /> // 使用列别名替换列名 默认:true <setting name="useColumnLabel" value="true" /> // 开启驼峰命名转换:Table{create_time} -> Entity{createTime} <setting name="mapUnderscoreToCamelCase" value="true" /> </settings>
los_okc 2017-07-20
  • 打赏
  • 举报
回复
数据库中date类型在Java中不是timestamp类型的吗

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧