springboot+mybatis 整合以及AOP攔截器,事物龟梦,自定義異常處理隐锭,表單驗(yàn)證等

1.創(chuàng)建 springboot+mybatis 應(yīng)用

2.pom 文件的編寫,需要配置相關(guān)數(shù)據(jù)庫(kù)連接


3.配置 mybatis-config 文件


4.配置 datasource?


@Configuration// 配置 mybatis mapper 的掃描路徑@MapperScan("com.qinmei.demo.dao")public class DataSourceConfiguration { @Value("${jdbc.driver}") private String jdbcDriver; @Value("${jdbc.url}") private String jdbcUrl; @Value("${jdbc.username}") private String jdbcPassword; @Value("${jdbc.password}") private String jdbcUsername; @Bean(name = "dataSource") public ComboPooledDataSource createDataSource() throws PropertyVetoException { // 數(shù)據(jù)庫(kù)連接池的配置 ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass(jdbcDriver); dataSource.setJdbcUrl(jdbcUrl); dataSource.setUser(jdbcUsername); dataSource.setPassword(jdbcPassword); // 關(guān)閉連接后不自動(dòng) commit提交 dataSource.setAutoCommitOnClose(false); return dataSource; }}

5.配置 sessionFactory


@Configurationpublic class SessionFactoryConfiguration { // mybatis-config.xml 配置文件的路徑 @Value("${mybatis_config_file}") private String mybatisConfigFilePath; // mybatis mapper 文件所在路徑 @Value("${mapper_path}") private String mapperPath; // 實(shí)體類所在的 package @Value("${entity_package}") private String entityPackage; @Autowired? //按照名稱加載 datasource @Qualifier("dataSource") private DataSource dataSource; @Bean(name = "sqlSessionFactory") public SqlSessionFactoryBean createSqlSessionFactoryBean() throws IOException { // 創(chuàng)建 sqlSession 工廠 SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(mybatisConfigFilePath)); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); // mapper 文件存放的位置 String packageSearchPath = PathMatchingResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX + mapperPath; // 設(shè)置屬性 sqlSessionFactoryBean.setMapperLocations(resolver.getResources(packageSearchPath)); sqlSessionFactoryBean.setDataSource(dataSource); sqlSessionFactoryBean.setTypeAliasesPackage(entityPackage); return sqlSessionFactoryBean; }}

6.配置文件


server.port=80server.context-path=/demo# 數(shù)據(jù)庫(kù)連接jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/demojdbc.username=rootjdbc.password=root#Mybatismybatis_config_file=mybatis-config.xmlmapper_path=/mapper/**.xmlentity_package=com.qinmei.demo.entity

7.dao層編寫接口


8.dao 層 mapper 編寫


9.dao 層測(cè)試


測(cè)試自動(dòng)注入時(shí)會(huì)報(bào)錯(cuò)计贰,找不到實(shí)例钦睡,修改 idea 配置即可


10.service 層事物配置


11.service 層編寫


12.conroller 層實(shí)現(xiàn)


13.統(tǒng)一異常處理


14.自定義異常類(擴(kuò)展)

a.編寫自定義異常類


b.異常處理進(jìn)行判斷


c.表單驗(yàn)證? ?

import javax.persistence.Entity;?

import javax.persistence.GeneratedValue;?

import javax.persistence.Id;?

import javax.validation.constraints.Min;


15.AOP攔截器


16.配置文件的 yml 格式


github 地址:https://github.com/shihengfei/springboot.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市躁倒,隨后出現(xiàn)的幾起案子荞怒,更是在濱河造成了極大的恐慌,老刑警劉巖秧秉,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件褐桌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡象迎,警方通過(guò)查閱死者的電腦和手機(jī)荧嵌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)砾淌,“玉大人完丽,你說(shuō)我怎么就攤上這事∧匆ǎ” “怎么了逻族?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)骄崩。 經(jīng)常有香客問(wèn)我聘鳞,道長(zhǎng),這世上最難降的妖魔是什么要拂? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任抠璃,我火速辦了婚禮,結(jié)果婚禮上脱惰,老公的妹妹穿的比我還像新娘搏嗡。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布采盒。 她就那樣靜靜地躺著旧乞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪磅氨。 梳的紋絲不亂的頭發(fā)上尺栖,一...
    開(kāi)封第一講書(shū)人閱讀 51,258評(píng)論 1 300
  • 那天,我揣著相機(jī)與錄音烦租,去河邊找鬼延赌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛叉橱,可吹牛的內(nèi)容都是我干的挫以。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼窃祝,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼屡贺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起锌杀,我...
    開(kāi)封第一講書(shū)人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤甩栈,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后糕再,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體量没,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年突想,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了殴蹄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡猾担,死狀恐怖袭灯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情绑嘹,我是刑警寧澤稽荧,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站工腋,受9級(jí)特大地震影響姨丈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜擅腰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一蟋恬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧趁冈,春花似錦歼争、人聲如沸拜马。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)俩莽。三九已至,卻和暖如春洒沦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背价淌。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工申眼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蝉衣。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓括尸,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親病毡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子濒翻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,806評(píng)論 6 342
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法啦膜,內(nèi)部類的語(yǔ)法有送,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法僧家,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,625評(píng)論 18 399
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理雀摘,服務(wù)發(fā)現(xiàn),斷路器八拱,智...
    卡卡羅2017閱讀 134,654評(píng)論 18 139
  • 在人與人的相處中阵赠,利益關(guān)系是最難處理的。如果兩個(gè)人之間一旦有了利益牽扯肌稻,就真的很難再做表面朋友清蚀。
    江海難以寄余生閱讀 341評(píng)論 0 0
  • 網(wǎng)絡(luò)上有很多女孩為什么要讀書(shū)的原因枷邪,無(wú)外乎是女孩自己要自立自強(qiáng),經(jīng)濟(jì)獨(dú)立才能和未來(lái)的那個(gè)他并肩站立诺凡。我是非常同意這...
    地瓜騎士_閱讀 537評(píng)論 6 2