我插入数据没报错,但数据库也没有数据
来源:7-3 自由编程
cccca
2020-04-01 18:12:15
@Test
public void insertSong(){
SqlSession sqlSession=null;
try{
sqlSession=MybatisUtils.openSession();
SongDao songDao = sqlSession.getMapper(SongDao.class);
Song song =new Song("给我一首歌的时间","周杰伦","流行","周杰伦","国语",Timestamp.valueOf("2008-10-14 10:10:10"));
System.out.println(song);
int i = songDao.insertSong(song);
System.out.println(i);
}catch (Exception e){
e.printStackTrace();
if(sqlSession!=null){
sqlSession.rollback();
}
}finally {
MybatisUtils.closeSession(sqlSession);
}
}
package com.san.mybatis.entity;
import java.sql.Timestamp;
public class Song {
private Integer id;
private String name;
private String singer;
private String category;
private String writer;
private String language;
private Timestamp isSuDate;
public Song() {
}
public Song( String name, String singer, String category, String writer, String language, Timestamp isSuDate) {
this.name = name;
this.singer = singer;
this.category = category;
this.writer = writer;
this.language = language;
this.isSuDate = isSuDate;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSinger() {
return singer;
}
public void setSinger(String singer) {
this.singer = singer;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getLanguage() {
return language;
}
public void setLanguage(String language) {
this.language = language;
}
public Timestamp getIsSuDate() {
return isSuDate;
}
public void setIsSuDate(Timestamp isSuDate) {
this.isSuDate = isSuDate;
}
@Override
public String toString() {
return "Song{" +
"id=" + id +
", name='" + name + '\'' +
", singer='" + singer + '\'' +
", category='" + category + '\'' +
", writer='" + writer + '\'' +
", language='" + language + '\'' +
", isSuDate=" + isSuDate +
'}';
}
}
package com.san.mybatis.dao;
import com.san.mybatis.entity.Song;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.SelectKey;
import java.util.List;
public interface SongDao {
@Select("select * from t_song")
public List<Song> selectSongNameAll();
@Select("select * from t_song where category= #{category}")
public List<Song> selectSongByCategory(@Param("category") String category);
@Insert("insert into t_song(name,singer,category,writer,language,issudate) values(#{name},#{singer},#{category},#{writer},#{language},#{isSuDate})")
@SelectKey(statement = "select last_insert_id()",before = false ,keyProperty = "id",resultType = Integer.class)
public int insertSong( Song song);
}
18:07:59.314 [main] DEBUG c.m.v.resourcepool.BasicResourcePool - awaitAvailable(): [unknown]
18:07:59.726 [main] DEBUG o.a.i.t.jdbc.JdbcTransaction - Setting autocommit to false on JDBC Connection [com.mchange.v2.c3p0.impl.NewProxyConnection@22ff4249 [wrapping: com.mysql.jdbc.JDBC4Connection@2d1ef81a]]
18:07:59.753 [main] DEBUG c.san.mybatis.dao.SongDao.insertSong - ==> Preparing: insert into t_song(name,singer,category,writer,language,issudate) values(?,?,?,?,?,?)
18:07:59.813 [main] DEBUG c.san.mybatis.dao.SongDao.insertSong - ==> Parameters: 给我一首歌的时间(String), 周杰伦(String), 流行(String), 周杰伦(String), 国语(String), 2008-10-14 10:10:10.0(Timestamp)
18:07:59.815 [main] DEBUG c.san.mybatis.dao.SongDao.insertSong - <== Updates: 1
18:07:59.817 [main] DEBUG c.s.m.d.SongDao.insertSong!selectKey - ==> Preparing: select last_insert_id()
18:07:59.818 [main] DEBUG c.s.m.d.SongDao.insertSong!selectKey - ==> Parameters:
18:07:59.843 [main] DEBUG c.s.m.d.SongDao.insertSong!selectKey - <== Total: 1
1回答
同学你好!
手动调用sqlSession要记得提交事务,否则数据没有正确写入数据库

祝学习愉快~
相似问题
回答 2
回答 2