springboot整合mybatis中的问题及出现的一些问题小结

  

1。springboot整合mybatis mapper注入时显示不能自动装配,如果强行写(value =false),可能会报NullPointException异常

  

  

dao层加注解@ component (value=" https://www.yisu.com/zixun/首字母小写的接口名如usermap -> usermap”)

  

dao层还可以加注解@Mapper

  

2。服务器的时区价值”Ö乙¹ u±e×¼ ʱ¼ ä“无法识别或代表超过alt=" springboot整合mybatis中的问题及出现的一些问题小结">

  

3. . lang。IllegalArgumentException: DefaultSerializer需要一个可序列化的载荷,但收到一封[xxx]

类型的对象   

解决:实体对象类没有序列化,需要实现Serializable
  

  

  

springboot整合mybatis非常非常的简单,简直简单到发指。但是也有一些坑,这里我会详细的指出会遇到什么问题,并且这些配置的作用

  

整合mybatis,无疑需要mapper文件,实体类,dao层,数据库连接池.....也就没了。

  

先放配置application.yml

        春天:   数据源:   类型:com.alibaba.druid.pool.DruidDataSource   driver-class-name: com.mysql.jdbc.Driver   过滤器:统计   maxActive: 20   initialSize: 1   maxWait: 60000   minIdle: 1   timeBetweenEvictionRunsMillis: 60000   minEvictableIdleTimeMillis: 300000   validationQuery:选择“x”   testWhileIdle:真   testOnBorrow:假   testOnReturn:假   poolPreparedStatements:真   maxOpenPreparedStatements: 20      名称:测试   url: jdbc: mysql://localhost: 3306/mama-bike& # 63; useUnicode=true& characterEncoding=UTF-8& zeroDateTimeBehavior=convertToNull   用户名:根   密码:根      mybatis:   #告诉你春天的映射器的位置。   mapper-locations:类路径:com/coder520/mamabike/* */* * . xml   春天#告诉你的实体类的位置   type-aliases-package:类路径:com.coder520.mamabike。* * .entity      日志:   配置类路径:logback.xml      

dao层接口,,,,,//就简单的写一个方法

        公共接口usermap {   int插入(用户记录);   }      

映射器         & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; !DOCTYPE mapper公共”——//mybatis.org//DTD mapper 3.0//EN”“http://mybatis.org/dtd/mybatis-3-mapper.dtd”的在=癱om.coder520.mamabike.user.dao & lt;映射器名称空间。祝辞usermap”;   & lt; resultMap id=" BaseResultMap " type=" com.coder520.mamabike.user.entity。用户“比;   & lt; id列=癷d”属性=" id " jdbcType=" BIGINT "/比;   & lt;结果列=瓣浅啤笔粜?瓣浅啤眏dbcType=" VARCHAR "/比;   & lt;结果列=癳nable_flag”属性=癳nableFlag jdbcType”=胺浅P〉恼?比;   & lt;结果列=皏erify_flag”属性=皏erifyFlag jdbcType”=胺浅P〉恼?比;   & lt;结果列=癶ead_img”属性=癶eadImg jdbcType”=癡ARCHAR”/比;   & lt;结果列=耙贫笔粜?耙贫眏dbcType=" VARCHAR "/比;   & lt;/resultMap>   & lt; sql id=癇ase_Column_List”比;   id、昵称、enable_flag verify_flag head_img、移动   & lt;/完成;   & lt;插入id="插入" parameterType=" com.coder520.mamabike.user.entity。用户“比;   插入用户(id、昵称、enable_flag   verify_flag head_img、移动   )   值(# {id, jdbcType=BIGINT}, #{昵称,jdbcType=VARCHAR}, # {enableFlag jdbcType=非常小的整数},   # {verifyFlag jdbcType=非常小的整数},# {headImg jdbcType=VARCHAR}, #{移动,jdbcType=VARCHAR}   )   & lt;/insert>   & lt;/mapper>      

主方法
  

        @SpringBootApplication   @ComponentScan (basePackages={" com.coder520.mamabike "})   @MapperScan (basePackages=癱om.demo.user.mapper”)   公开课MamaBikeApplication {   公共静态void main (String [] args) {   SpringApplication.run (MamaBikeApplication.class, args);   }   }      

需要注意的是,dao层接口春天怎么会知道呢?这里就需要<代码> @MapperScan (basePackages=癱om.demo.user.mapper”) 这个注解来指定mapper接口的位置。用<代码> @ComponentScan (basePackages={" com.coder520.mamabike "}) 这个注解来让春天扫描我们指定包下的注解。

  

如果我们不用@MapperScan这个注解的话,也可以在接口类的上方加上@Mapper这个注解也可以。
  

  

  

以上所述是小编给大家介绍的springboot整合mybatis中的问题及出现的一些问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

springboot整合mybatis中的问题及出现的一些问题小结