Eclipse连接数据库实现INSERT操作

还在学习使用Eclipse和iBATIS ing。。。
因为加载的iBATIS包是别人传的,不清楚是否完整的,但是可以实现数据库的查询操作,但是在实现INSERT上出问题了:
SQLMap中:

INSERT INTO sone(name, phonenumber)
VALUES(#name:VARCHAR#, #phonenumber:VARCHAR#)

Dao中:
public static Sone insertSone(String code) throws SQLException
{
return (Sone) client.insert("insertSoneByCode", code);
}
求教该如何实现。。。

ps:没有设主键,只要求能正确插入一组数据(xinka,010-1010-1010)...

6个回答

resultClass="Sone" 这个是啥,你的插入数据,怎么会还会返回一个Sone 对象出去了。、
code 如果在sql配置中没有指定名字,请用 #value:VARCHAR#

如果要实现楼主的插入:
[code="java"]

INSERT INTO sone(name, phonenumber)
VALUES(#name:VARCHAR#, #phonenumber:VARCHAR#)

Dao中:
public static Sone insertSone(String code) throws SQLException
{
//这里最少也得是一个map进去,或者实体对象进去。
Map param = new HashMap();
param.put("name", "xinka");
param.put("phonenumber", "010-1010-1010");
//xinka,010-1010-1010
return (Sone) client.insert("insertSoneByCode", param);
}

[/code]


<![CDATA[
INSERT INTO storage (name,type,date,content) VALUES (#name#,#type#, #date#,#content#)
]]>
把相应的字段对应着改下 看Ok 不 不行M 我

有报错信息吗

跟你用main 还是用容器没有什么关系,关键你要知道。

[code="java"]


INSERT INTO sone(name, phonenumber)
VALUES(#name:VARCHAR#, #phonenumber:VARCHAR#)

// 这部分就是我在SQL Map中想要实现INSERT操作的代码
你要理解 parameterClass 是什么意思。resultClass是什么意思。
还用就是
return (Sone) client.insert("insertSoneByCode", param);

这insert 返回什么。
[/code]

你知道是什么意思,那我问你几个问题:
第一个:name 和 phonenumber 那里来的,你只有一个 parameterClass="java.lang.String"

[code="java"]


INSERT INTO sone(name, phonenumber)
VALUES(#name:VARCHAR#, #phonenumber:VARCHAR#)
这部分就是我在SQL Map中想要实现INSERT操作的代码

[/code]

第二个 : 你这个sql 语句怎么返回这个resultClass="Sone"

[code="java"]


INSERT INTO sone(name, phonenumber)
VALUES(#name:VARCHAR#, #phonenumber:VARCHAR#)
这部分就是我在SQL Map中想要实现INSERT操作的代码

[/code]

sql的CRUD,每一步都是单独完成的。
你要实现insert 那就是insert,所以你的return sone没什么意义。
而你要实现插入后返回 插入完成的结果的话 那就需要在另行执行一次查询。
在你的sqlmap中resultClass="Sone"是没有任何意义的。
你的代码:


INSERT INTO sone(name, phonenumber)

VALUES(#name:VARCHAR#, #phonenumber:VARCHAR#)


public static Sone insertSone(String code) throws SQLException
{
return (Sone) client.insert("insertSoneByCode", code);
}
你的方法指定了一个为String类型的code参数,而sql中却是要对两个字段进行操作,参数不匹配报错;而且ibatis不能解析你的name和phonenumber是从哪里来的。
多参数可参考用数组形式。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问