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

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

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

瀏覽:27日期: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超碰国产精品| 日韩av在线播放网址| 欧美天堂一区二区| 亚洲资源网站| 视频在线观看一区二区三区| 久久亚洲专区| 欧美国产美女| 欧美国产极品| 国产欧美69| 日韩二区三区四区| 老色鬼久久亚洲一区二区| 久久一区二区中文字幕| 天堂√8在线中文| 日韩成人免费| 精品五月天堂| 丰满少妇一区| 色爱综合网欧美| 麻豆国产欧美日韩综合精品二区| 蜜桃久久精品一区二区| 丁香婷婷久久| 日本美女一区| 久久中文视频| 国产亚洲永久域名| 中文亚洲免费| 男人操女人的视频在线观看欧美| 日韩中文欧美在线| 男人的天堂久久精品| 亚洲精选成人| 青草久久视频| 91精品国产自产精品男人的天堂| 日韩国产在线一| 国产欧美日韩精品一区二区免费 | 久久精品超碰| 国产精品一卡| 高清一区二区三区| 日韩在线短视频| 91精品一区国产高清在线gif | 另类小说一区二区三区| 精品日本视频| 蜜桃成人精品| 亚洲国产日韩欧美在线| 国产美女一区| 亚洲毛片一区| 美女性感视频久久| 欧美日韩精品免费观看视完整| 久久在线免费| 综合激情五月婷婷| 国产精品第一| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 99成人在线视频| 91久久亚洲| 日韩国产欧美三级| 精品国产18久久久久久二百| 久久久久国产一区二区| 亚洲综合精品| 免费日韩成人| 欧美91福利在线观看| 亚洲aⅴ网站| 国产精品一区二区精品视频观看| 91欧美在线| 国产精品免费看| 国产亚洲一区| 成人自拍av| 人人爽香蕉精品| 麻豆国产一区| 国产韩日影视精品| 国产精品中文| 国产99久久| 91欧美极品| 日本美女一区| 亚洲精品成人一区| 国产91在线播放精品| 狠狠色狠狠色综合日日tαg| 一区二区日韩免费看| 福利精品一区| 蜜桃av一区二区在线观看| 国产成人精选| 蜜桃久久av一区| 首页国产精品| 久久国产精品99国产| 精品视频在线观看网站| 亚洲一区二区成人| 精品伊人久久久| 亚洲中午字幕| 日韩在线精品| 91亚洲精品视频在线观看 | 日韩国产一二三区| 日韩精品免费一区二区在线观看| 一区二区三区四区在线观看国产日韩| 美女精品一区二区| 在线亚洲欧美| 欧美日韩1区2区3区| 成人av三级| 日韩高清中文字幕一区| 99久久激情| 欧美日韩 国产精品| 亚洲va在线| 麻豆91小视频| 婷婷视频一区二区三区| 99成人在线视频| 久久超碰99| 欧美日韩第一| 精品亚洲免a| 日本中文字幕不卡| 亚洲先锋成人| 理论片午夜视频在线观看| 日本特黄久久久高潮| aa亚洲婷婷| 日韩三区在线| 精品久久久久久久| 18国产精品| 在线免费观看亚洲| 国产主播一区| 国产99在线| 欧美91在线| 青青国产精品| 中文字幕日本一区| 久久蜜桃资源一区二区老牛| 麻豆免费精品视频| 奇米狠狠一区二区三区| 亚洲免费网址| 欧美成人精品| 桃色一区二区| 色综合狠狠操| 精品国产乱码久久久| 国产欧美一区| 日本91福利区| 一区二区电影| 蜜桃91丨九色丨蝌蚪91桃色| 99综合视频| 黄色亚洲精品| 影音先锋久久| 成人一区不卡| 久久精品日韩欧美| 国产精品久久久久9999高清 | 久久国产日本精品| 成人精品视频| 精品国产午夜肉伦伦影院| 国产丝袜一区| 日韩精品免费一区二区夜夜嗨| 蜜臀精品久久久久久蜜臀| 99综合视频| 日韩精品网站| 久久久久久美女精品| 日韩成人综合| 久久一区亚洲| 国产激情综合| 国产96在线亚洲| 亚洲播播91| 在线国产一区| 免费人成在线不卡| 日韩一区免费| 国产亚洲一区二区三区不卡| 国产精品亚洲片在线播放| 国产欧美欧美| 国产精品对白| 精品久久精品| 六月婷婷综合| 久久国产毛片| 国产一区白浆| 免费在线观看日韩欧美| 欧美日韩国产精品一区二区亚洲| 精品91久久久久| 亚洲深深色噜噜狠狠爱网站| 日本一区中文字幕| 久久国产三级| 国内精品麻豆美女在线播放视频| 岛国av免费在线观看| 91精品国产乱码久久久久久久 | 婷婷激情图片久久| 亚洲欧美日韩国产一区二区| 亚洲午夜免费| 日韩va欧美va亚洲va久久| 国产精品sm| 成人三级高清视频在线看| 久久精品动漫| 蜜桃免费网站一区二区三区| 久久国产三级精品| 黑森林国产精品av| 欧美日韩国产亚洲一区| 日本伊人午夜精品| 国内精品麻豆美女在线播放视频| 久久久久免费av| 中文字幕一区二区三区日韩精品| 欧美日韩视频免费看| 精品国产欧美日韩| 久久国产中文字幕| 一区二区三区四区在线观看国产日韩| 日韩高清在线不卡| 精品国产a一区二区三区v免费| 91精品国产乱码久久久久久久| 日韩在线a电影| 视频一区二区国产| 伊人久久大香线蕉av不卡| 日本亚洲视频在线| 久久久久久免费视频| 国产伦精品一区二区三区视频 | 日韩一区二区三区精品视频第3页|