↑ 收起筛选 ↑
myBAtis insErt 返回主键
2020-08-13

主键是自动赋值在对象中的. 比如对象User,属性id为主键,name,age User user = new User(); user.setName("test"); user.setAge(16); 调用mybatis的insert(user);返回值是1,该条记录的主键通过user.getId();即可获龋

向数据库中插入数据时,大多数情况都会使用自增列或者UUID做为主键.主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A、B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据时需要用到A的主键.再看看别人怎么说的.

mybatis中的insert返回的是受影响的行数

你好!如果设置为 BEFORE,那么它会首先选择主键,设置 keyProperty 然后执行插入语句.如果设置为 AFTER,那么先执行插入语句,然后是 selectKey 元素-这和如 Oracle 数据库相似,可以在插入语句中嵌入序列调用.如有疑问,请追问.

度private function loaderHandler(event:*):void {switch(event.type) {case Event.COMPLETE:trace(_loader.data.result);break;case Event.OPEN:trace("open: " + event);break;case ProgressEvent.PROGRESS:trace("progress: " + event);break;

在insert里面加入selectKey标签就可以了. 一般都是返回的int类型.对应数据库是自增长字段.要注意的是: ibatis会直接返回int值. Mybatis则把int值包装在参数对象里面.public int insert(

正常情况来说,返回的Integer值=1,表示一条记录插入表中.

楼主的问题解决呢?如何解决问题,我也是这个问题,真的不想使用整数意愿,啊,大数据,问题就会出现.我已阅读ibatis2几个版本没有这个问题.

案例:方法一<insert id="add" parameterType="EStudent" useGeneratedKeys="true" keyProperty="id">insert into TStudent(name, age) values(#{name}, #{age})</insert>useGeneratedKeys="true" :设置是否使用JDBC的

selectKey配置节中语句改成:SELECT LAST_INSERT_ID() AS projectId就行了,希望能帮到你

延伸阅读:

myBAtis多对多

myBAtis多条更新

myBAtis实现批量入库

myBAtis批量更新语句

myBAtis框架的理解

myBAtis批量添加

myBAtis比jDBC的优势

myBAtis有什么用

myBAtis动态sql防注入

myBAtis工作原理及优点