色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot整合mybatis常見問題(小結(jié))

瀏覽:7日期:2023-04-01 17:14:28
Spring中常見問題

1.NoSuchBeanDefinitionException

SpringBoot整合mybatis常見問題(小結(jié))

2.’..Service’ that could not be found service找不到

SpringBoot整合mybatis常見問題(小結(jié))

3.port 80 was already in use 端口號被占用

SpringBoot整合mybatis常見問題(小結(jié))

4.TemplateInputException 模板解析異常或找不到模板

1.檢查模板所在的目錄是否與配置的前綴目錄相同 2.檢查返回的模板是否存在,返回值類型是否一致 3.檢查配置前綴時(shí)是否以'/'斜杠結(jié)尾 4.控制層的url與客戶端的ur是否一致

SpringBoot整合mybatis常見問題(小結(jié))

5. 404異常 訪問資源不存在

SpringBoot整合mybatis常見問題(小結(jié))

6. 500異常 500異常要查看控制臺

SpringBoot整合mybatis常見問題(小結(jié))

Mybatis中常見問題

1.springboot中添加maven依賴

SpringBoot整合mybatis常見問題(小結(jié))

2.BadSqlGrammarException 錯誤的sql語句

SpringBoot整合mybatis常見問題(小結(jié))

SpringBoot整合mybatis常見問題(小結(jié))

3.BindingException 綁定異常

1.檢查映射文件的路徑配置與實(shí)際存儲位置是否一致 2.檢查dao接口的類名是否與映射文件的namespace值相同(不能有空格) 3.檢查dao接口中的方法名是否在映射文件中有對應(yīng)的id

SpringBoot整合mybatis常見問題(小結(jié))

SpringBoot整合mybatis常見問題(小結(jié))

SpringBoot整合mybatis常見問題(小結(jié))

SpringBoot整合mybatis常見問題(小結(jié))

4.IllegalArgumentException

原因:同樣說我sql映射是否出現(xiàn)了重復(fù)性的定義(例如:分別以注解方式和xml配置文件方式進(jìn)行定義,也就是說在同一個namespace下出現(xiàn)了重復(fù)的元素id)

SpringBoot整合mybatis常見問題(小結(jié))

5.SAXParseException xml解析問題

SpringBoot整合mybatis常見問題(小結(jié))

補(bǔ)充問題一:Mapper類 autowired失敗

原因:掃描mapper包沒有配置或配置不正確

解決:

方案一:

1. 啟動類加@MapperScan('mapperPackagePath')

方案二:

增加配置類:

package com.yx.readingwebsite.config; import org.mybatis.spring.mapper.MapperScannerConfigurer;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration; /** * MapperScannerConfigurer 配置DAO層 */ @Configurationpublic class MyBatisMapperScannerConfig { @Bean public MapperScannerConfigurer getMapperScannerConfigurer(){ MapperScannerConfigurer msc = new MapperScannerConfigurer(); msc.setSqlSessionFactoryBeanName('sqlSessionFactory'); msc.setBasePackage('com.yx.readingwebsite.mapper'); return msc; }}問題二:Mapper掃描成功后,繼續(xù)報(bào)錯,org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

原因:xml的mapper SQL 和 Mapper接口沒有綁定

解決:

方案一:全局配置文件application.yml增加mybatis配置【xml mapper包在resource目錄下】

mybatis: mapper-locations: classpath:mapper/*.xml

方案二:增加配置類

package com.yx.readingwebsite.config; import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.io.Resource;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;import org.springframework.transaction.annotation.TransactionManagementConfigurer; import javax.sql.DataSource; /** * 配置MyBatis,引入數(shù)據(jù)源,sqlSessionFactory,sqlSessionTemplate,事務(wù)管理器 */ @Configuration //配置類@EnableTransactionManagement //允許使用事務(wù)管理器public class MyBatisModelConfig implements TransactionManagementConfigurer { @Autowired private DataSource dataSource; @Bean(name = 'sqlSessionFactory') public SqlSessionFactory getSqlSessionFactory(){ SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean(); ssfb.setDataSource(dataSource); //設(shè)置數(shù)據(jù)源 ssfb.setTypeAliasesPackage('com.yx.readingwebsite.model'); //設(shè)置掃描模型包【po】 try { Resource[] resources = new PathMatchingResourcePatternResolver() .getResources('classpath:mapper/*.xml'); ssfb.setMapperLocations(resources); return ssfb.getObject(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(); } } @Bean //獲得Session 模板,從而獲得Session public SqlSessionTemplate getSqlSessionTemplate(SqlSessionFactory sqlSessionFactory){ return new SqlSessionTemplate(sqlSessionFactory); } @Override //事務(wù)管理器 public PlatformTransactionManager annotationDrivenTransactionManager() { return new DataSourceTransactionManager(dataSource); }}

需要注意的是,xml版的mybatis一定要在sqlSessionFactory中指定mapperLocations,即下圖

SpringBoot整合mybatis常見問題(小結(jié))

總結(jié):兩種配置方案。方案一,使用配置類;方案二,使用配置文件。完整配置如下:

方案一:配置類

package com.yx.readingwebsite.config; import org.apache.ibatis.session.SqlSessionFactory;import org.mybatis.spring.SqlSessionFactoryBean;import org.mybatis.spring.SqlSessionTemplate;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.io.Resource;import org.springframework.core.io.support.PathMatchingResourcePatternResolver;import org.springframework.jdbc.datasource.DataSourceTransactionManager;import org.springframework.transaction.PlatformTransactionManager;import org.springframework.transaction.annotation.EnableTransactionManagement;import org.springframework.transaction.annotation.TransactionManagementConfigurer; import javax.sql.DataSource; /** * 配置MyBatis,引入數(shù)據(jù)源,sqlSessionFactory,sqlSessionTemplate,事務(wù)管理器 */ @Configuration //配置類@EnableTransactionManagement //允許使用事務(wù)管理器public class MyBatisModelConfig implements TransactionManagementConfigurer { @Autowired private DataSource dataSource; @Bean(name = 'sqlSessionFactory') public SqlSessionFactory getSqlSessionFactory(){ SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean(); ssfb.setDataSource(dataSource); //設(shè)置數(shù)據(jù)源 ssfb.setTypeAliasesPackage('com.yx.readingwebsite.model'); //設(shè)置掃描模型包【po】 try { Resource[] resources = new PathMatchingResourcePatternResolver() .getResources('classpath:mapper/*.xml'); ssfb.setMapperLocations(resources); return ssfb.getObject(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(); } } @Bean //獲得Session 模板,從而獲得Session public SqlSessionTemplate getSqlSessionTemplate(SqlSessionFactory sqlSessionFactory){ return new SqlSessionTemplate(sqlSessionFactory); } @Override //事務(wù)管理器 public PlatformTransactionManager annotationDrivenTransactionManager() { return new DataSourceTransactionManager(dataSource); }}

package com.yx.readingwebsite.config; import org.mybatis.spring.mapper.MapperScannerConfigurer;import org.springframework.boot.autoconfigure.AutoConfigureAfter;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration; /** * MapperScannerConfigurer 配置DAO層 */ @Configuration@AutoConfigureAfter(MyBatisModelConfig.class)public class MyBatisMapperScannerConfig { @Bean public MapperScannerConfigurer getMapperScannerConfigurer(){ MapperScannerConfigurer msc = new MapperScannerConfigurer(); msc.setSqlSessionFactoryBeanName('sqlSessionFactory'); msc.setBasePackage('com.yx.readingwebsite.mapper'); return msc; }}

方案二:配置文件 application.yml

spring: datasource: url: jdbc:mysql://127.0.0.1:3306/readingWebsite?useUnicode=true&characterEncoding=utf-8 username: password: driver-class-name: com.mysql.jdbc.Driver max-active: 100 max-idle: 10 max-wait: 10000 default-auto-commit: false time-between-eviction-runs-millis: 30000 min-evictable-idle-time-millis: 30000 test-while-idle: true test-on-borrow: true test-on-return: true validation-query: SELECT 1 mybatis: mapper-locations: classpath:mapper/*.xml

package com.yx.readingwebsite; import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication@MapperScan('com.yx.readingwebsite')public class ReadingWebsiteApplication { public static void main(String[] args) { SpringApplication.run(ReadingWebsiteApplication.class, args); } }

到此這篇關(guān)于SpringBoot整合mybatis常見問題(小結(jié))的文章就介紹到這了,更多相關(guān)SpringBoot整合mybatis問題內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 女人张开腿让男人桶免费网站 | 欧美一级成人毛片影院 | 精品一久久香蕉国产线看观 | 亚洲综合91社区精品福利 | 色综合久久88色综合天天 | 99国产精品热久久久久久夜夜嗨 | 亚洲精彩视频在线观看 | 色老头oldmoneyvideos | 玖玖啪 | 久久精品国产99久久香蕉 | 日本高清色本在线www游戏 | 精品欧美一区二区三区免费观看 | 喷潮白浆直流在线播放 | 国产日韩欧美精品在线 | 国产三级在线观看a | 日韩欧美在线播放 | 三级黄色高清视频 | 国产一区日韩二区欧美三 | 精品女厕沟底拍撒尿 | 欧美激情欧美狂野欧美精品免费 | 99久免费精品视频在线观看2 | 一级片免费在线播放 | 色射网 | 久久国内免费视频 | 三级美国 | 日本一级大毛片a一 | 国产成人精品日本亚洲网址 | 中文一区| 久久综合久久精品 | 麻豆国产96在线 | 中国 | 成年女人看片免费视频播放器 | 亚洲国产情侣一区二区三区 | 色老头老太做爰视频在线观看 | 亚洲精品自拍视频 | 免费高清毛片在线播放视频 | 欧美综合图片一区二区三区 | 国产亚洲高清在线精品99 | 亚洲精品手机在线观看 | 肥婆毛片| 欧美一级www毛片 | 思思久热re6这里有精品 |