Mybatis -- Plus - errors

Mybatis - plus :

1.

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Could not set property 'id' of 'class com.yyl.mybatisplus.domain.Employee' with value '1171594677555757057' Cause: java.lang.IllegalArgumentException: argument type mismatch

原因: 数据库表中主键为 自增策略,且在执行插入时,未给主键赋值。

解决: 更改实体类中主键的类型(使用注解)在相应实体类的属性上(id)添加注解

@TableId(value = "emp_id",type = IdType.AUTO), value:映射表中对应的主键,type:主键策略

 

2.

org.springframework.jdbc.BadSqlGrammarException: 
### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'db_study.employee' doesn't exist
### The error may involve com.yyl.mybatisplus.dao.EmployeeDao.insert-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO employee   ( empName,  gender,  email )  VALUES   ( ?,  ?,  ? )
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'db_study.employee' doesn't exist
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'db_study.employee' doesn't exist

原因:数据库中的表名为 tab_emp,而实体类为 employee,默认,在mybatis plus中会根据 BaseMapper<T> 中所写泛型的名字作为表名进行查找。

解决:使用 @TableName(value = "tab_emp") ,在相应实体类上加上该注解,value:该实体类在数据库中对应的表名。

 

3.

org.springframework.jdbc.BadSqlGrammarException: 
### Error updating database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'empName' in 'field list'
### The error may involve com.yyl.mybatisplus.dao.EmployeeDao.insert-Inline
### The error occurred while setting parameters
### SQL: INSERT INTO tbl_emp   ( empName,  gender,  email )  VALUES   ( ?,  ?,  ? )
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'empName' in 'field list'
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'empName' in 'field list'

原因:数据库中表列为:emp_name,而实体类中为 empName,不匹配。

解决:需要在配置文件中开启 相应的命名转换功能, emp_name --> empName .

	<bean id="sqlSessionFactory"
		class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="configLocation"
			value="classpath:mybatis-config.xml" />

		<property name="typeAliasesPackage"
			value="com.yyl.mybatisplus.domain" />
		<!-- 注入全局MP策略配置 -->
		<property name="globalConfig" ref="globalConfiguration"></property>	
			
	</bean>
	<!-- mybatis plus 全局策略配置 -->
	<bean id="globalConfiguration"
		class="com.baomidou.mybatisplus.entity.GlobalConfiguration">
		<!-- mybatis-plus 2.3 版本以后 不需要配置,默认为true 命名转换 -->
		<property name="dbColumnUnderline" value="true"></property>
		<!-- 设置主键策略 - 注解 或xml配置均可 -->
		<!-- <property name="idType" value="0"></property> -->

	</bean>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值