Mybatise的Oracle数据库插入问题

在使用Mybatise的时候,我用以下代码对数据库进行操作,没有报错,成功执行,但是数据库没有查找到数据

@Test//
    public void testInsertUser(){
        SqlSession sqlSession = sessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = new User(4, "rose", "男", 12);
        userMapper.insertUser(user);
        sqlSession.commit();
        sqlSession.close();
    };

在日志里面

clipboard.png
求解!!!
谷歌和百度上好像没有我这样的情况,他们类似的问题是没有提交事务,但是这里我提交了事务,还是不行

阅读 3k
1 个回答

找到原因了
Mabitis关联接口的方式操作数据库,在mapper.xml映射文件中,我把<insert></insert>标签写成了<select></select>标签,没有报错,但是这样不会返回所更改的行数


@Test//
    public void testInsertUser(){
        int row = 0;
        SqlSession sqlSession = sessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        User user = new User(6, "rose", "男", 12);
        row = userMapper.insertUser(user);//这样就接收不到值,返回的是一个null
        sqlSession.commit();
        sqlSession.close();
        System.out.println(row);
    };

因为是查询标签,自然数据也就不会被提交

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题