mybatis插入语句为啥不行啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis插入语句为啥不行啊相关的知识,希望对你有一定的参考价值。

最近我在写毕业设计,遇到个很棘手的问题,尝试了各种办法都不行。我在项目中用到了Mybatis,但为什么所有的插入操作都不行呢。我的插入语句如下图,请高手指点,谢谢!

是仅仅插入语句无法执行,还是其他诸如update、或者查询语句也无法执行呢。如果都是无法执行的,那么就意味着你的mybatis压根就没有配置正确,或者缺少数据库驱动。如果仅仅是insert无法进行,那么就需要考虑下你的Notice了,你用parameterType指定的Notice是否已经在配置列表中定义了别名,如果没有请定义。如果定义了别名,那么就有可能是Notice当中的某些成员变量与插入语剧中使用的成员变量不一致,如果插入语中有Notice中不包含的成员变量,如果storeName在Notice中没有定义。
或者插入语句所在的XML文件压根就没有包含到Mybatis配置文件中。
参考技术A log4j加入以下,就能打印sql了。
debug 'java.sql.Connection',
'java.sql.Statement',
'java.sql.PreparedStatement'

乱码原因,可能是mysql没设置对,String url = "jdbc:mysql://localhost:3306/mydb?user=root&password=123456"
+ "&useUnicode=true&characterEncoding=gb2312";
参考技术B 这些xml不是都自动生成的? 你打印插入的sql语句看看本回答被提问者采纳

为啥用mybatis不能向数据库里面插入数据?

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();数据就会插入表。
参考技术A DB2出现22001说明字段长度比插入的内容短致使。解决方案:修改表结构,或验证限制输入长度 参考技术B 没有这说法,<insert>标签难道不是插入数据用的...本回答被提问者和网友采纳

以上是关于mybatis插入语句为啥不行啊的主要内容,如果未能解决你的问题,请参考以下文章

在mybatis中insert语句必须插入表中的全部字段吗??

mybatis执行一条update语句时为啥会返回

这个mybatis的mysql语句该怎么改?

为啥用mybatis不能向数据库里面插入数据?

mybatis insert 插入为啥会返回空值

mybatis插入数据到数据库中,实体类的属性名与数据库的字段名不一致,怎么解决?