my batis 에서 insert 반환 값 은 1 이지 만 데이터 베 이 스 는 데이터 가 없습니다.
1.데이터베이스 테이블 설정 오류 제거
사용
show variables like '%autocommit%';
표 자동 제출 설정 여부 보기![在这里插入图片描述](https://s1.md5.ltd/image/679b5968e865802e6dbf29a4968ba96d.png)
autocommt 가 on 으로 설정 되 어 있 습 니 다.문제 없습니다.
2.테스트 클래스 코드 검사
Test.java
import entity.Data;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.RowBounds;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) throws Exception {
//
InputStream is = Resources.getResourceAsStream("MybatisDemo.xml");
// SqlSessionFactory
SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(is);
// ( SQL )
SqlSession session = ssf.openSession();
// id
Data data=session.selectOne("com.selectData",2);
System.out.println("ID:"+data.getId()+"
"+" :"+data.getName()+"
"+" :"+data.getAge());
//
List<Data> list = session.selectList("com.selectAll");
System.out.println(list);
for(int i = 0; i < list.size(); i++){
System.out.println(list.get(i).toString());
}
//
List<Data> list1 = session.selectList("com.selectLike","t");
System.out.println(list1);
for(int i = 0; i < list1.size(); i++){
System.out.println(list1.get(i).toString());
}
//
Map map=new HashMap<>();
map.put("start",0);
map.put("length",2);
List<Data> list2 = session.selectList("com.selectPage",map);
System.out.println(list2);
//
RowBounds bunds=new RowBounds(0,1);
List<Data> list3= session.selectList("com.selectPage1",null,bunds);
System.out.println(list3);
Data data1 = new Data(" ",24);
int rows=session.insert("com.insertData", data1);
System.out.println(rows);
//
session.close();
}
}
실제로 select 만 자동 으로 제출 되 고 insert,update,delete 는 자동 으로 제출 되 지 않 기 때문에 문 제 는 코드 입 니 다.![在这里插入图片描述](https://s1.md5.ltd/image/5a8dc765d0cb0faed26527417c5bcedd.png)
수 동 제출 을 설정 하지 않 았 습 니 다.
2.두 가지 해결 방법
2.1 commit 활용
![在这里插入图片描述](https://s1.md5.ltd/image/8660015d62f7fe8f4e304dfb73e25054.png)
코드 를 한 줄 추가 한 후에 아무 소 용이 없다 는 것 을 발견 하고 문제 가 여기에 없다 는 것 을 증명 했다.실행 후 데이터베이스 에 데이터 가 없습니다.
![在这里插入图片描述](https://s1.md5.ltd/image/a3cb580687c8e1299a69d1dda7e41cf0.png)
실제로 commt 방법 이 효과 가 없 는 것 이 아니 라 코드 위 치 를 추가 하 는 것 이 잘못 되 었 습 니 다.session 에 해당 하 는 명령 이 있 으 면 다시 제출 해 야 합 니 다.따라서 session.comit()를 insert 명령 에 넣 은 후 다음 과 같 습 니 다.
![在这里插入图片描述](https://s1.md5.ltd/image/6801c026b8feeedf7923c51b58b78d5d.png)
데이터 베 이 스 를 성공 적 으로 삽입 하 였 습 니 다.
2.2 openSession()방법 매개 변수 문제
openSession()방법 에 인자 true 를 기록 합 니 다.
![在这里插入图片描述](https://s1.md5.ltd/image/7c304f5e408b69d77965f56d92c1060b.png)
![在这里插入图片描述](https://s1.md5.ltd/image/f7ffa65d3416597b1565c292e4c63b27.png)
데이터 베 이 스 를 성공 적 으로 삽입 하 였 습 니 다.완벽 합 니 다!
my batis 에서 insert 반환 값 은 1 이지 만 데이터 베 이 스 는 데이터 가 없 는 이 글 을 소개 합 니 다.더 많은 my batis insert 반환 값 은 1 내용 입 니 다.이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Mybatis가 키 id를 삽입하는 방법을 되돌려줍니다.mapper의 xml 파일에useGeneratedKeys 구성 KeyProperty를 사용하여 Id로 돌아가면 됩니다. PS: Mybatis의 insert에서 키 ID를 반환하는 방법 1、XyzMapper.xml 또...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.