请问各位大佬,mybatis中jdbcType的作用到底是什么?很多人说是传入的参数是null,设置了jdbcTyp可以自动转换类型,不设置jdbcType就会报错。我在mapper.xml中也没有设置jdbcType,还专门传入了一些null参数,但是没有报错,请问这是为什么?
下面是mapper.xml
<!--这里要注意两个问题 第一个是获取插入的数据的主键 第二个是要在数据后面添加jdbcType 这样可以在插入空数据的时候自动转为空字符串-->
<insert id="insert" parameterType="Article" useGeneratedKeys="true" keyProperty="articleId">
insert into
<include refid="tb"/>
(article_user_id, article_title, article_content,article_summary, article_view_count, article_comment_count,
article_like_count, article_create_time,article_update_time, article_is_comment, article_status, article_order)
values
(
#{articleUserId},#{articleTitle},#{articleContent},
#{articleSummary},#{articleViewCount},#{articleCommentCount},
#{articleLikeCount },#{articleCreateTime },#{articleUpdateTime},
#{articleIsComment},#{articleStatus },#{articleOrder }
)
</insert>
下面是测试代码
@Test
public void insert()
{
Article article = new Article();
/**
article.setArticleViewCount(10);
article.setArticleTitle("你好,这是测试文章的标题");
article.setArticleCommentCount(20);
article.setArticleContent("你好,这是测试文章的内容");
article.setArticleCreateTime(new Date());
article.setArticleUpdateTime(new Date());
article.setArticleIsComment(1);
article.setArticleLikeCount(20);
article.setArticleOrder(1);
article.setArticleStatus(1);
article.setArticleSummary("你好,这是测试文章的总结");
article.setArticleUserId(1);
*/
int result = articleMapper.insert(article);
System.out.println(article.getArticleId());
}
这个程序没有报错,还成功的在数据库插入了一个空行。
没哈卵用!