SpringBoot使用小笔记——MybatisPlus使用

使用说明:
相对来说使用比较方便,特性官方文档说的很详细了。基本的使用与mybatis没有任何差别。
集成到springboot的传送门 → http://mp.baomidou.com/#/spring-boot

常见问题:
1、使用MP只需要引入MP的依赖,不需要另外引入mybatis依赖。
2、空指针问题
新建项目使用ActiveRecord 方式CURD时出现下面报错

java.lang.NullPointerException
	at com.baomidou.mybatisplus.entity.GlobalConfiguration.currentSessionFactory(GlobalConfiguration.java:227)
	at com.baomidou.mybatisplus.mapper.SqlHelper.sqlSession(SqlHelper.java:101)
	at com.baomidou.mybatisplus.mapper.SqlHelper.sqlSession(SqlHelper.java:54)
	at com.baomidou.mybatisplus.activerecord.Model.sqlSession(Model.java:346)
	at com.baomidou.mybatisplus.activerecord.Model.insert(Model.java:53)
	...

解决方法:
新项目实体(model)直接maven引用的其他项目,并且对mybatisplus进行了配置。官方文档中描述:“AR模式提供了一种更加便捷的方式实现 CRUD 操作,其本质还是调用的 Mybatis 对应的方法,类似于语法糖。”所以需要补充mapper继承basemapper。
https://gitee.com/baomidou/mybatisplus-spring-mvc/issues/2

3、使用mybatis在xml中写sql,如下:


state为1时,发现执行后的age条件还是加上了
修改为下面情况正常:


4、连接mysql8.0时driver报错,Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdb
修改连接数据库配置

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/xxx?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: ******

5、Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool2.impl.G…
引入依赖:


	org.apache.commons
	commons-pool2
	2.0

6、org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='ew.paramNameValuePairs.MPGENVAL4', mode=IN, javaType=class java.lang.Object, jdbcType=null, numericScale=null, resultMapId='null', jdbcTypeName='null', expression='null'}. Cause: org.apache.ibatis.type.TypeException: Error setting null for parameter #4 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型: 1111
	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:77)
	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
	at com.sun.proxy.$Proxy139.selectOne(Unknown Source)
	at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:166)
	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:82)
	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
	at com.sun.proxy.$Proxy154.selectCount(Unknown Source)

解决:
SpringBoot使用小笔记——MybatisPlus使用_第1张图片

你可能感兴趣的:(SpringBoot,MybatisPlus)