日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

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

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

1.NoSuchBeanDefinitionException

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

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

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

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

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

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

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

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

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

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

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

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

Mybatis中常見問題

1.springboot中添加maven依賴

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

2.BadSqlGrammarException 錯誤的sql語句

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

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

3.BindingException 綁定異常

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

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

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

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

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

4.IllegalArgumentException

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

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

5.SAXParseException xml解析問題

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

補充問題一: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掃描成功后,繼續報錯,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,引入數據源,sqlSessionFactory,sqlSessionTemplate,事務管理器 */ @Configuration //配置類@EnableTransactionManagement //允許使用事務管理器public class MyBatisModelConfig implements TransactionManagementConfigurer { @Autowired private DataSource dataSource; @Bean(name = 'sqlSessionFactory') public SqlSessionFactory getSqlSessionFactory(){ SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean(); ssfb.setDataSource(dataSource); //設置數據源 ssfb.setTypeAliasesPackage('com.yx.readingwebsite.model'); //設置掃描模型包【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 //事務管理器 public PlatformTransactionManager annotationDrivenTransactionManager() { return new DataSourceTransactionManager(dataSource); }}

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

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

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

方案一:配置類

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,引入數據源,sqlSessionFactory,sqlSessionTemplate,事務管理器 */ @Configuration //配置類@EnableTransactionManagement //允許使用事務管理器public class MyBatisModelConfig implements TransactionManagementConfigurer { @Autowired private DataSource dataSource; @Bean(name = 'sqlSessionFactory') public SqlSessionFactory getSqlSessionFactory(){ SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean(); ssfb.setDataSource(dataSource); //設置數據源 ssfb.setTypeAliasesPackage('com.yx.readingwebsite.model'); //設置掃描模型包【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 //事務管理器 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); } }

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

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
麻豆亚洲精品| 91综合网人人| 欧美日韩国产探花| 久久精品观看| 午夜精品网站| 国产亚洲综合精品| 久久国产精品亚洲77777| 99视频一区| 国产精品日韩欧美一区| 99国产精品| 亚洲一区欧美激情| 日韩中文字幕麻豆| 老鸭窝毛片一区二区三区| 精品一区在线| 亚洲欧洲日本mm| 爽好多水快深点欧美视频| 综合激情网...| 日韩福利视频导航| 国产乱码精品一区二区三区亚洲人| 欧美亚洲色图校园春色| 国产黄色精品| 在线手机中文字幕| 偷拍欧美精品| 亚州欧美在线| 欧美国产精品| 香蕉成人av| 水野朝阳av一区二区三区| 日韩精品视频在线看| 奇米色欧美一区二区三区| 国产欧美欧美| jizzjizz中国精品麻豆| 午夜国产欧美理论在线播放 | 精品美女在线视频| 国产一区二区三区四区二区| 精品亚洲美女网站| 国产亚洲午夜| 亚洲精品影视| 精品中文在线| 日韩成人三级| 亚洲少妇一区| 欧美在线日韩| xxxxx性欧美特大| jiujiure精品视频播放| 亚洲一区二区三区无吗| 国产精品亚洲综合色区韩国 | 丝袜脚交一区二区| 国产欧美一区二区三区米奇| 欧美激情另类| 三级亚洲高清视频| 久久久91麻豆精品国产一区| | 国产日韩免费| 天堂а√在线最新版中文在线| 国产一区亚洲| 日韩高清欧美激情| 免费一二一二在线视频| 综合国产精品| 日韩免费av| 欧美日本久久| 91久久黄色| 精品国产一级| 日韩精品一二三| 国产高潮在线| 日本成人在线视频网站| 日韩一区二区三区免费播放| 亚洲人成高清| 久久精品亚洲欧美日韩精品中文字幕| 天堂精品久久久久| 高清av不卡| 日韩福利视频网| 亚洲精品一区二区在线看| 欧美精品aa| 亚洲欧美日韩视频二区| 日韩欧美看国产| 欧美一级二区| 亚洲一区激情| 久久久久午夜电影| 国产精品香蕉| 一区二区三区四区日韩| 久久国产中文字幕| 精品视频高潮| 日本视频一区二区| 欧美日韩四区| 黄色在线观看www| 91精品尤物| 羞羞答答国产精品www一本| 日韩1区2区| 国产毛片精品| 在线看片日韩| 日韩一区二区久久| 欧美二三四区| 麻豆精品一区二区综合av| 亚洲人亚洲人色久| 午夜精品免费| 播放一区二区| 国产精品久久久久久久久妇女| 国产午夜一区| 日韩国产在线一| 欧美日韩国产一区精品一区| 日韩中文首页| 黄色网一区二区| 国产调教精品| 亚洲精品四区| 中文精品电影| 免费视频一区二区| 一区久久精品| 国产一区亚洲| 久久精品高清| 欧美日韩一二| 久久久精品久久久久久96 | 午夜日本精品| 久久天堂成人| 久久天堂成人| 久久夜夜操妹子| 91精品韩国| 女生影院久久| 婷婷综合六月| 电影天堂国产精品| 日韩天堂在线| 韩国精品主播一区二区在线观看| 精品视频网站| 日韩av在线播放网址| 福利精品一区| 97精品国产| 精品一区二区三区中文字幕| 久久精品99久久久| 91免费精品国偷自产在线在线| 日本国产欧美| 国产精品一区二区三区www| 国产乱论精品| 国产精品99久久免费| 国产福利一区二区精品秒拍| 国产精品一区二区三区www| 国产精品一国产精品k频道56| 国产精品久久久免费| 久久爱www成人| 精品久久99| 中文在线а√在线8| 亚洲深夜视频| 欧美福利在线| 久久亚洲风情| 蜜桃av一区二区| 亚洲精品少妇| 国产午夜一区| 国内精品伊人| 亚洲黄色中文字幕| 欧美精品一区二区久久| 91久久久久| 日本va欧美va精品| 美女视频一区在线观看| 国产在线观看www| 久久麻豆精品| 亚洲精品日本| 精品资源在线| 久久婷婷亚洲| 亚洲免费专区| 国产日本精品| 天堂中文在线播放| 亚洲欧美日本视频在线观看| 欧美天堂一区二区| 亚洲黄色免费看| 日韩中文欧美在线| 国产精品午夜av| 日韩亚洲一区在线| 男女男精品视频网| 国产精品成人国产| av高清一区| 亚州av日韩av| 久久精品一区| 欧美大黑bbbbbbbbb在线| 天堂va欧美ⅴa亚洲va一国产| 国产福利一区二区三区在线播放| 91精品一区国产高清在线gif| 中文一区一区三区免费在线观| 久久超碰99| 好吊日精品视频| 国产剧情在线观看一区| 91tv亚洲精品香蕉国产一区| 中文字幕av一区二区三区人 | 国产亚洲精品精品国产亚洲综合| 久久久久久婷| 日韩一区精品视频| 久久麻豆视频| 中文欧美日韩| 国产毛片一区二区三区| 日本精品在线中文字幕| 天堂va在线高清一区| 日韩欧美1区| 日本成人在线视频网站| 青青青免费在线视频| 综合欧美亚洲| а√在线中文在线新版| 中文字幕日韩欧美精品高清在线| 国产成人免费av一区二区午夜| 亚洲主播在线| 国产一区国产二区国产三区| 亚洲欧美日本视频在线观看| 国产成人久久精品麻豆二区| 日韩在线观看一区二区| 国产成人精选|