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

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

IDEA創建springboot + mybatis項目全過程(步驟詳解)

瀏覽:21日期:2023-05-05 18:46:12

鑒于隔很久再在IDEA新建springboot項目時,會出現對步驟不確定的情況,因此,寫下這篇博客記錄創建一個可運行的springboot+mybatis項目的全過程。

步驟如下:

1.打開IDEA

2.File ==> new ==> project ,如圖:

IDEA創建springboot + mybatis項目全過程(步驟詳解)

3.選擇spring Initializr ==> 右邊的Project SDK我選的是我已經安裝的1.8版本,其他默認 ==> 點擊next

IDEA創建springboot + mybatis項目全過程(步驟詳解)

4.填寫Group (自己隨意就行,我的是cn + 個人英文名 + study) ==> 填寫 Artifact (也是自己隨意就行,這個也是你的項目名) ==> 點擊next ,如圖:

IDEA創建springboot + mybatis項目全過程(步驟詳解)

5.選擇項目所需依賴(由于項目是springboot+mybatis的Java后臺項目,因此需要勾上三個依賴) ==> 點擊next ,如圖:

IDEA創建springboot + mybatis項目全過程(步驟詳解)

IDEA創建springboot + mybatis項目全過程(步驟詳解)

6.選擇項目路徑 ==> 點擊finish ,如圖:

IDEA創建springboot + mybatis項目全過程(步驟詳解)

6.最終生成的項目代碼目錄如圖(resources目錄下的static和templates目錄無用,可以刪掉):

IDEA創建springboot + mybatis項目全過程(步驟詳解)

(注:如果DemoprojectApplication類(即啟動類)的圖標顯示是 J 而不是 C ,則說名該項目還沒有被初始化為maven項目,

只需要在項目的pom.xml文件上右鍵,再選擇 Add as maven 即可)

至此,springboot項目搭建完成一半,還需要做mybatis的配置,如下:

7.數據庫和mybatis的配置

7.1 在application.properties填入數據庫連接參數和mybatis配置信息,application.properties內容如下:

#1.項目啟動的端口server.port=18902 #2.數據庫連接參數#2.1jdbc驅動,示數據庫廠商決定,這是mysql的驅動jdbc.driver=com.mysql.cj.jdbc.Driver#2.2數據庫連接url,包括ip(127.0.0.1)、端口(3306)、數據庫名(testdb)jdbc.url=jdbc:mysql://127.0.0.1:3306/testdb?useUnicode=true&characterEncoding=utf-8&useSSL=false#2.3數據庫賬號名jdbc.username=root#2.4數據庫密碼jdbc.password=mypassword #3.Mybatis配置#3.1 mybatis配置文件所在路徑mybatis_config_file=mybatis-config.xml#3.2 mapper文件所在路徑,這樣寫可匹配mapper目錄下的所有mapper,包括其子目錄下的mapper_path=/mapper/**/**.xml#3.3 entity所在包entity_package=cn.stephen.study.demoproject.entity

示例如圖:

IDEA創建springboot + mybatis項目全過程(步驟詳解)

7.2 在resources目錄下新建 mybatis-config.xml文件,文件內容如下:

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE configuration PUBLIC '-//mybatis.org//DTD Config 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-config.dtd'><!-- 配置文件的根元素 --><configuration> <!--配置全局屬性--> <settings> <!--使用jdbc的getGeneratedKeys獲取數據庫自增主鍵值--> <setting name='useGeneratedKeys' value='true'/> <!--使用列標簽替換列別名 默認未true--> <setting name='useColumnLabel' value='true' /> <!--開啟駝峰式命名轉換:Table{create_time} -> Entity{createTime}--> <setting name='mapUnderscoreToCamelCase' value='true' /> </settings></configuration>

效果如圖:

IDEA創建springboot + mybatis項目全過程(步驟詳解)

7.3 新建 config包,在其中新建配置類。共三個配置類,如圖:

IDEA創建springboot + mybatis項目全過程(步驟詳解)

DataSourceConfiguration類的代碼如下:

package cn.stephen.study.demoproject.config.dao; import com.mchange.v2.c3p0.ComboPooledDataSource;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration; import java.beans.PropertyVetoException; /** * 數據庫配置類 */@Configurationpublic class DataSourceConfiguration { @Value('${jdbc.driver}') private String jdbcDriver; @Value('${jdbc.url}') private String jdbcUrl; @Value('${jdbc.username}') private String jdbcUsername; @Value('${jdbc.password}') private String jdbcPassword; @Bean(name = 'dataSouce') public ComboPooledDataSource createDataSouce() throws PropertyVetoException { ComboPooledDataSource dataSource = new ComboPooledDataSource(); dataSource.setDriverClass(jdbcDriver); dataSource.setJdbcUrl(jdbcUrl); dataSource.setUser(jdbcUsername); dataSource.setPassword(jdbcPassword); //關閉連接后不自動commit dataSource.setAutoCommitOnClose(false); return dataSource; }}

SessionFactoryConfiguration類的代碼如下:

package cn.stephen.study.demoproject.config.dao; import org.mybatis.spring.SqlSessionFactoryBean;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.io.ClassPathResource;import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import javax.sql.DataSource;import java.io.IOException; /** * 數據庫sqlSession配置類 */ @Configurationpublic class SessionFactoryConfiguration { @Value('${mapper_path}') private String mapperPath; @Value('${mybatis_config_file}') private String mybatisConfigFilePath; @Autowired private DataSource dataSouce; @Value('${entity_package}') private String entityPackage; @Bean(name='sqlSessionFactory') public SqlSessionFactoryBean createSqlSessionFactoryBean() throws IOException { SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean(); sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(mybatisConfigFilePath)); PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); String packageSearchPath = PathMatchingResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX+mapperPath; sqlSessionFactoryBean.setMapperLocations(resolver.getResources(packageSearchPath)); sqlSessionFactoryBean.setDataSource(dataSouce); sqlSessionFactoryBean.setTypeAliasesPackage(entityPackage); return sqlSessionFactoryBean; }}

TransactionManagementConfiguration類的代碼如下:

package cn.stephen.study.demoproject.config.service; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Configuration;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; /** * 事務配置類,不可缺少,尚未知具體作用 */@Configuration@EnableTransactionManagementpublic class TransactionManagementConfiguration implements TransactionManagementConfigurer{ @Autowired private DataSource dataSource; @Override public PlatformTransactionManager annotationDrivenTransactionManager() { return new DataSourceTransactionManager(dataSource); }}

三個類的代碼寫完后,在DataSourceConfiguration類中會報找不到某些類的錯,在下一步解決。

7.4 在 pom.xml文件的<dependencies></dependencies>插入以下兩個依賴

<!--線程池--><dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.5.2</version></dependency><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional></dependency>

至此,項目配置已完成。。。。

8. 接下來,就按最普遍的分層代碼目錄結構來寫一個基本的測試來測試項目是否能正常運行。代碼目錄結果如圖:

IDEA創建springboot + mybatis項目全過程(步驟詳解)

一共需要新建4個包(controller、service、dao、entity)和一個目錄(mapper);

8.1 controller包放控制層代碼,TestController類的代碼如下:

package cn.stephen.study.demoproject.controller; import cn.stephen.study.demoproject.entity.TestEntity;import cn.stephen.study.demoproject.service.TestService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController; @RestController@RequestMapping('/demoproject/test')public class TestController { @Autowired private TestService testService ; @RequestMapping(value = '/get/{id}',method = RequestMethod.GET) public TestEntity test(@PathVariable Integer id){ System.out.println('id:' + id); return testService.getById(id); } }

8.2 service層放業務處理層代碼,TestService類的代碼如下:

package cn.stephen.study.demoproject.service; import cn.stephen.study.demoproject.dao.TestDao;import cn.stephen.study.demoproject.entity.TestEntity;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service; @Servicepublic class TestService { @Autowired private TestDao testDao ; public TestEntity getById(Integer id){ return testDao.getById(id); }}

8.3 dao包放數據存取層代碼,TestDao代碼如下:

package cn.stephen.study.demoproject.dao; import cn.stephen.study.demoproject.entity.TestEntity;import org.apache.ibatis.annotations.Mapper; @Mapperpublic interface TestDao { TestEntity getById(Integer id); }

8.4 entity包放數據庫表對應的實體類,TestEntity實體類代碼如下:

package cn.stephen.study.demoproject.entity; public class TestEntity { protected Integer id ; protected String magicId ; protected String firstName ; protected String lastName ; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getMagicId() { return magicId; } public void setMagicId(String magicId) { this.magicId = magicId; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; }}

對應的數據庫表的sql語句如下:

CREATE TABLE `test` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `magic_id` varchar(32) NOT NULL, `first_name` varchar(32) NOT NULL, `last_name` varchar(32) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

8.5 mapper目錄放dao層代碼的具體實現(這是mybatis的特色,用xml文件來實現數據存取),TestDaoMapper的內容如下:

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-mapper.dtd' ><mapper namespace='cn.stephen.study.demoproject.dao.TestDao'> <!-- 根據主鍵查詢--> <select resultType='cn.stephen.study.demoproject.entity.TestEntity' parameterType='java.lang.Integer' > select * from test where id = #{id} </select></mapper>

測試代碼寫完,就可以打開postman去做測試了。

(注:搜索 postman下載 即可在官網上下載postman軟件)

測試結果如圖:

IDEA創建springboot + mybatis項目全過程(步驟詳解)

9.結束語:

至此,搭建springboot + mybatis 的Java后臺項目已經結束。。

附上該項目示例的github地址:https://github.com/StephenChen1/demoproject.git

到此這篇關于IDEA創建springboot + mybatis項目全過程的文章就介紹到這了,更多相關idea 創建springboot mybatis過程內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本视频中文字幕一区二区三区| 在线精品观看| 亚洲精品自拍| 少妇精品久久久一区二区| 日韩制服丝袜av| 午夜在线精品| 蘑菇福利视频一区播放| 久久xxxx精品视频| 亚洲精品极品| 欧美日韩18| 国产乱码精品一区二区三区亚洲人| 欧美日韩一区自拍| 老色鬼久久亚洲一区二区| 国产精品毛片在线看| 午夜在线播放视频欧美| 少妇精品久久久| 国产探花在线精品一区二区| 国产乱码精品一区二区三区四区| 国产美女精品视频免费播放软件| 国产精品亚洲片在线播放| 国产麻豆一区二区三区精品视频| 久久这里只有精品一区二区| 国内精品亚洲| 91看片一区| 香蕉精品视频在线观看| 亚洲色诱最新| 欧美一级网址| 国产精久久一区二区| 国产高潮在线| 婷婷亚洲五月| 四虎在线精品| 麻豆国产精品一区二区三区| 日韩在线短视频| 久久国产精品亚洲77777| 7m精品国产导航在线| 精品视频在线观看网站| 99久久99视频只有精品| 九九在线精品| 日韩av一区二区在线影视| 精品国产精品国产偷麻豆| 精品丝袜在线| 亚洲狼人精品一区二区三区| 国产精品免费不| 久久蜜桃精品| 亚洲91网站| 精品深夜福利视频| 免费av一区二区三区四区| 亚洲精品观看| 中文字幕在线免费观看视频| 久久国产精品99国产| 卡一卡二国产精品| 欧美福利一区| 国产亚洲精品美女久久| 久久国产直播| 亚洲一区二区日韩| 精品久久网站| 首页国产精品| 亚洲永久字幕| 你懂的国产精品永久在线| 红桃视频亚洲| 久久av导航| 99精品综合| 国产欧美一区二区三区国产幕精品| 成人福利视频| 日韩不卡免费视频| 婷婷成人在线| 欧美午夜网站| 红桃视频欧美| 国产成人77亚洲精品www| 蜜臀精品久久久久久蜜臀| 久久久久久自在自线| 亚洲图片久久| 国产精品成人a在线观看| 蜜桃免费网站一区二区三区| 精品国产中文字幕第一页| 石原莉奈在线亚洲二区| 欧美久久天堂| 国产精品久久久网站| 首页国产欧美日韩丝袜| av资源新版天堂在线| 日本不卡在线视频| 精品1区2区3区4区| 首页国产精品| 国产精品最新自拍| 麻豆9191精品国产| 91精品国产调教在线观看| 国产精品一站二站| 久久亚洲二区| 91精品国产乱码久久久久久久| 国产欧美亚洲一区| 男女男精品网站| 欧美成人精品| 亚洲成人一区在线观看| 国产精品久久久久毛片大屁完整版| 国产精品毛片| 国内精品99| 成人啊v在线| 久久精品理论片| 国产精品一站二站| 欧美日韩午夜电影网| 亚洲乱亚洲高清| 喷白浆一区二区| 最新日韩欧美| 日韩精品欧美| 日韩视频网站在线观看| 首页国产精品| 四季av一区二区凹凸精品| 国产精品第一| 亚洲欧美一级| 亚洲日韩视频| 综合国产视频| 亚洲专区视频| 蜜桃一区二区三区在线观看| 午夜欧美精品| 国产精品av一区二区| 久久国产精品成人免费观看的软件| 国产拍在线视频| 国产精品久久观看| 精品精品国产三级a∨在线| 麻豆91在线播放| 精品视频一二| 中文字幕在线官网| 欧美freesex黑人又粗又大| 中文字幕色婷婷在线视频| 亚洲一区资源| 99精品小视频| 伊人久久亚洲热| 久久大逼视频| 日韩一区免费| 国产精品免费精品自在线观看| 久久av资源| 亚洲天堂资源| 亚洲二区免费| 天堂网在线观看国产精品| 欧美日韩激情| 免费人成在线不卡| 日韩不卡在线观看日韩不卡视频 | 精品国产成人| 国产高潮在线| 亚洲高清久久| 制服诱惑一区二区| 亚洲欧洲免费| 免费日韩成人| xxxxx性欧美特大| 美女网站一区| 久久国产精品久久久久久电车 | 欧美91在线| 日韩av免费大片| 99tv成人| 亚洲精品乱码日韩| 国产精品一区二区三区美女 | 尹人成人综合网| 一区二区三区四区在线观看国产日韩| 日本中文字幕不卡| 国产亚洲人成a在线v网站| 国产成人久久精品一区二区三区| 伊人网在线播放| 亚洲黄色在线| 青草综合视频| 色欧美自拍视频| 在线亚洲自拍| 国产欧美日韩一区二区三区四区 | 久久国产视频网| 精品国产乱码久久久| 久久国产电影| 日韩视频一二区| 视频在线不卡免费观看| 亚洲激情不卡| 国产精品嫩模av在线| 日韩欧美一区二区三区在线观看| 国产模特精品视频久久久久| 国产亚洲高清在线观看| 久久久夜夜夜| 日韩精品欧美精品| 久久久久久一区二区| 视频一区二区三区入口| 国产精品18| 在线精品视频在线观看高清| 中文字幕一区二区三区在线视频| 国产精品www.| 99视频在线精品国自产拍免费观看| 日本v片在线高清不卡在线观看| 久久久国产精品网站| 亚洲欧美激情诱惑| 精品国产精品国产偷麻豆| 天堂网在线观看国产精品| 国产精品成人3p一区二区三区| 美女少妇全过程你懂的久久| 久久国产日韩欧美精品| 欧美丝袜一区| 久久精品高清| 国产精品红桃| 久久性天堂网| 国产一区福利| 在线免费观看亚洲| 国产盗摄——sm在线视频| 亚洲免费福利一区| 在线日韩视频| 国产精品久av福利在线观看| 一区视频在线|