为了账号安全,请及时绑定邮箱和手机立即绑定

请问一下为什么用mybatis不能向数据库里面插入数据?

/ 猿问

请问一下为什么用mybatis不能向数据库里面插入数据?

慕的地6264312 2019-09-10 16:10:40
查看完整描述

3 回答

?
斯蒂芬大帝

mybatis不能向数据库里面插入数据原因可能是执行了插入动作,但是没有最终commit到数据库服务器导致。

mybatis插入数据的例子如下:
package com.mybatis.demo;
import java.io.Reader;
public class Test {
private static SqlSessionFactory sqlSessionFactory;
private static Reader reader;
static{
try{
reader = Resources.getResourceAsReader("Configuration.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
}catch(Exception e){
e.printStackTrace();
}
}
public static SqlSessionFactory getSession(){
return sqlSessionFactory;
}
//添加用户
public void addUser(){
User user = new User();
user.setId(4);
user.setUserAddress("人民广场");
user.setUserName("Birds");
user.setUserAge("102");
SqlSession session = sqlSessionFactory.openSession();
try{
IUserOperation userOperation = session.getMapper(IUserOperation.class);
session.commit();
System.out.println("当前增加的用户id为:"+user.getId());
}
finally{
session.close();
}
}
public static void main(String[] args) {
Test testUser = new Test();
testUser.addUser();
}
}
当执行到 testUser.addUser();后执行到session.commit();数据就会插入表。



查看完整回答
反对 回复 2019-09-14
?
慕后森

<insert id="add" parameterType="ItemsModel" useGeneratedKeys="true" keyProperty="id">
会返回插入数据的id 前题 id是数据库自动递增的。返回id后作为另一个表的主键插入即可 。我就是这么做的额

查看完整回答
反对 回复 2019-09-14

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信