sys_guid()插入数据的时候返回主键值 mybatis 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 a.xml: <insert id="insertAGenerated" parameterType="com.defonds.mybatis.test.bean.A" useGeneratedKeys="true" keyProperty="aId"> insert into a(aName) values(#{aName}) </insert>AMapper:package com.defonds.mybatis.test.dao;import com.defonds.mybatis.test.bean.A;public interface AMapper { void insertA(A a); int insertAGenerated(A a);}A:package com.defonds.mybatis.test.bean;public class A { private int aId; private String aName; public int getaId() { return aId; } public void setaId(int aId) { this.aId = aId; } public String getaName() { return aName; } public void setaName(String aName) { this.aName = aName; } }获取主键:A a;int aa = aMapper.insertAGenerated(a);注意:insert 不再返回主键,只返回响应行数,这点和 ibatis 不同了。所以上面的 aa 仅仅是执行结果。主键应该是:a.getaId();//主键这样获取 1.aMapper 是哪个类?2.我用的是SqlSession的insert()进行插入的3.我数据库有2个主键 ,用keyProperty="aId" aID是变量名字,程序怎么知道哪个是主键呢?是不是要在哪里指明啊,我用了你的方法结果查出来的是rowid。再和我讲讲吧,谢谢! <insert id="insertAGenerated" parameterType="com.defonds.mybatis.test.bean.A" useGeneratedKeys="true" keyProperty="aId" keyColumn="aID">insert into a(aName)values(#{aName})</insert>增加keyColumn:数据库你要取的字段名keyProperty:实体类的变量名调用SqlSession的insert("insertAGenerated",实体类名)进行插入 ,然后通过实体类.get变量名就可以拿到了。关键是keyProperty="aId" keyColumn="aID"这2个属性的配置。 tomcat DBCP连接池问题 菜鸟级问题jsp页面中存在${会导致编译错误 关于java applet 的小问题 response.sendRedirect("error.jsp?errMsg="+chn) chn为中文的时候, 怎么设置编码? HTTP Status 500 求网站自助建站系统的源代码,或者讲下实现原理也好 可否在IIS实现JSP的支持 JSQLConnect.jar的问题!非常着急!再线等待! 谁给我看看这代码有什么问题??? 如何用java实现web工程中整个屏幕的截图 SSO CAS接入的系统密码加密方式不统一的问题 jsp+MySQL数据库
<insert id="insertAGenerated" parameterType="com.defonds.mybatis.test.bean.A" useGeneratedKeys="true" keyProperty="aId">
insert into a(aName)
values(#{aName})
</insert>AMapper:
package com.defonds.mybatis.test.dao;import com.defonds.mybatis.test.bean.A;public interface AMapper {
void insertA(A a);
int insertAGenerated(A a);
}
A:
package com.defonds.mybatis.test.bean;public class A {
private int aId;
private String aName;
public int getaId() {
return aId;
}
public void setaId(int aId) {
this.aId = aId;
}
public String getaName() {
return aName;
}
public void setaName(String aName) {
this.aName = aName;
}
}获取主键:
A a;
int aa = aMapper.insertAGenerated(a);
注意:insert 不再返回主键,只返回响应行数,这点和 ibatis 不同了。
所以上面的 aa 仅仅是执行结果。主键应该是:
a.getaId();//主键这样获取
2.我用的是SqlSession的insert()进行插入的
3.我数据库有2个主键 ,用keyProperty="aId" aID是变量名字,程序怎么知道哪个是主键呢?是不是要在哪里指明啊,我用了你的方法结果查出来的是rowid。再和我讲讲吧,谢谢!
insert into a(aName)
values(#{aName})
</insert>
增加keyColumn:数据库你要取的字段名
keyProperty:实体类的变量名
调用SqlSession的insert("insertAGenerated",实体类名)进行插入 ,然后通过实体类.get变量名就可以拿到了。
关键是keyProperty="aId" keyColumn="aID"这2个属性的配置。