1.springboot整合mybatis mapper注入時顯示could not autowire,如果強行寫(value = false ),可能會報NullPointException異常
超過十余年行業(yè)經(jīng)驗,技術(shù)領(lǐng)先,服務(wù)至上的經(jīng)營模式,全靠網(wǎng)絡(luò)和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業(yè)務(wù)范圍包括了:網(wǎng)站設(shè)計制作、成都網(wǎng)站制作,成都網(wǎng)站推廣,成都網(wǎng)站優(yōu)化,整體網(wǎng)絡(luò)托管,重慶小程序開發(fā)公司,微信開發(fā),app軟件開發(fā),同時也可以讓客戶的網(wǎng)站和網(wǎng)絡(luò)營銷和我們一樣獲得訂單和生意!
解決方案:
dao層加注解@Component(value = "首字母小寫的接口名如UserMapper->userMapper")
dao層還可以加注解@Mapper
2.The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone問題
3.java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type[xxx]
解決:實體對象類沒有序列化,需要implements Serializable
PS:下面看下springboot整合mybatis出現(xiàn)的一些問題
springboot整合mybatis非常非常的簡單,簡直簡單到發(fā)指。但是也有一些坑,這里我會詳細(xì)的指出會遇到什么問題,并且這些配置的作用
整合mybatis,無疑需要mapper文件,實體類,dao層,數(shù)據(jù)庫連接池。。。。。也就沒了。
先放配置application.yml
spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.MySQL.jdbc.Driver filters: stat maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: select 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20 name: test url: jdbc:mysql://localhost:3306/mama-bike?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull username: root password: root mybatis: #告訴spring你的mapper的位置。 mapper-locations: classpath:com/coder520/mamabike/**/**.xml #告訴spring你的實體類的位置 type-aliases-package: classpath:com.coder520.mamabike.**.entity logging: config: classpath:logback.xml
dao層接口 //就簡單的寫一個方法
public interface UserMapper { int insert(User record); }
mapper
<?xml version="1.0" encoding="UTF-8" ?>id, nickname, enable_flag, verify_flag, head_img, mobile insert into user (id, nickname, enable_flag, verify_flag, head_img, mobile ) values (#{id,jdbcType=BIGINT}, #{nickname,jdbcType=VARCHAR}, #{enableFlag,jdbcType=TINYINT}, #{verifyFlag,jdbcType=TINYINT}, #{headImg,jdbcType=VARCHAR}, #{mobile,jdbcType=VARCHAR} )
main方法
@SpringBootApplication @ComponentScan(basePackages={"com.coder520.mamabike"}) @MapperScan(basePackages="com.demo.user.mapper") public class MamaBikeApplication { public static void main(String[] args) { SpringApplication.run(MamaBikeApplication.class, args); } }
需要注意的是,dao層接口spring怎么會知道呢?這里就需要@MapperScan(basePackages="com.demo.user.mapper")
這個注解來指定mapper接口的位置。用@ComponentScan(basePackages={"com.coder520.mamabike"})
這個注解來讓spring掃描我們指定包下的注解。
如果我們不用@MapperScan這個注解的話,也可以在接口類的上方加上@Mapper這個注解也可以。
總結(jié)
以上所述是小編給大家介紹的springboot整合mybatis中的問題及出現(xiàn)的一些問題小結(jié),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!