激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - springboot+springmvc+mybatis項目整合

springboot+springmvc+mybatis項目整合

2021-04-19 12:15豬點點 Java教程

這篇文章主要為大家詳細介紹了springboot+springmvc+mybatis項目的整合,具有一定的參考價值,感興趣的小伙伴們可以參考一下

介紹:

  上篇給大家介紹了ssm多模塊項目的搭建,在搭建過程中spring整合springmvcmybatis時會有很多的東西需要我們進行配置,這樣不僅浪費了時間,也比較容易出錯,由于這樣問題的產生,pivotal團隊提供了一款全新的框架,該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,spring boot致力于在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。

特點:

1. 創建獨立的spring應用程序
2. 嵌入的tomcat,無需部署war文件
3. 簡化maven配置
4. 自動配置spring
5. 提供生產就緒型功能,如指標,健康檢查和外部配置
6. 絕對沒有代碼生成和對xml沒有要求配置
(以上大部分內容摘自百度百科)

 ok,關于springboot的講解就到這里大家想了解的更詳細可以自行百度。

搭建springboot項目我推薦大家用idea或者sts(spring tool suite spring公司自己研發的一款編輯器),我現在用的是idea,所以接下來我是用idea搭建項目的

 一、創建項目

springboot+springmvc+mybatis項目整合

填寫完group和atrifact后點擊下一步,這里我選擇的是jar,因為官方文檔推薦的是打包成jar,所以這里就不過多解釋了。

springboot+springmvc+mybatis項目整合

這里勾選上web

springboot+springmvc+mybatis項目整合

這里勾選上mysql、jdbc和mybatis點擊下一步

springboot+springmvc+mybatis項目整合

這里輸入項目名和項目路徑后點擊完成

springboot+springmvc+mybatis項目整合

這是新建完成后的項目結構

springboot+springmvc+mybatis項目整合

 二、添加pom.xml依賴

因為springboot不推薦使用jsp做頁面,如果想要使用就必需的添加jsp的依賴

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
   xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 <modelversion>4.0.0</modelversion>
 
 <groupid>com.chaoqi</groupid>
 <artifactid>springboot_demo2</artifactid>
 <version>0.0.1-snapshot</version>
 <packaging>jar</packaging>
 
 <name>springboot_demo2</name>
 <description>demo project for spring boot</description>
 
 <parent>
  <groupid>org.springframework.boot</groupid>
  <artifactid>spring-boot-starter-parent</artifactid>
  <version>2.0.0.release</version>
  <relativepath/>
 </parent>
 
 <properties>
  <project.build.sourceencoding>utf-8</project.build.sourceencoding>
  <project.reporting.outputencoding>utf-8</project.reporting.outputencoding>
  <java.version>1.8</java.version>
 </properties>
 
 <dependencies>
  <dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-jdbc</artifactid>
  </dependency>
  <dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-web</artifactid>
  </dependency>
  <dependency>
   <groupid>org.mybatis.spring.boot</groupid>
   <artifactid>mybatis-spring-boot-starter</artifactid>
   <version>1.3.2</version>
  </dependency>
 
  <dependency>
   <groupid>mysql</groupid>
   <artifactid>mysql-connector-java</artifactid>
   <scope>runtime</scope>
  </dependency>
  <dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-test</artifactid>
   <scope>test</scope>
  </dependency>
  <!--添加jsp依賴 -->
  <dependency>
   <groupid>org.springframework.boot</groupid>
   <artifactid>spring-boot-starter-tomcat</artifactid>
  </dependency>
  <dependency>
   <groupid>org.apache.tomcat.embed</groupid>
   <artifactid>tomcat-embed-jasper</artifactid>
  </dependency>
 </dependencies>
 
 <build>
  <plugins>
   <plugin>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-maven-plugin</artifactid>
   </plugin>
  </plugins>
 </build>
 
 
</project>

三、springboot整合springmvc

因為在創建項目的時候我們選擇了mybatis和jdbc所以在這里也要把他們兩也給配置進去

編輯application.properties

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 頁面默認前綴目錄
spring.mvc.view.prefix=/web-inf/jsp/
# 響應頁面默認后綴
spring.mvc.view.suffix=.jsp
 
#開發配置
spring.datasource.driverclassname = com.mysql.jdbc.driver
spring.datasource.url = jdbc:mysql://localhost:3306/test?useunicode=true&characterencoding=utf-8
spring.datasource.username = root
spring.datasource.password = 123456
 
# mybatis接口文件位置
mybatis.mapper-locations: classpath:mapper/*.xml
mybatis.type-aliases-package: com.chaoqi.springboot_demo2.domain

如果大家習慣用application.yml那也可以用,但是用application.yml在第一次啟動項目的時候一定要maven clean一下,不然會報錯。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server:
 port: 8080
 
spring:
 mvc:
 view:
  prefix: /web-inf/jsp/
  suffix: .jsp
 datasource:
 url: jdbc:mysql://localhost:3306/test?characterencoding=utf-8&useunicode=true&usessl=false
 username: root
 password: 123456
 driver-class-name: com.mysql.jdbc.driver
 
mybatis:
 mapper-locations: classpath:mapping/*.xml
 type-aliases-package: com.chaoqi.springboot_demo2.domain

編輯完application.properties之后再src/mian下創建webapp目錄,結構如下

springboot+springmvc+mybatis項目整合

新建indexcontroller

springboot+springmvc+mybatis項目整合

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.chaoqi.springboot_test.web;
 
 
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
 
@controller
public class indexcontroller {
  private static final string index = "index";
 @requestmapping("/show")
 public string getindex() {
  return index;
 }
}

運行main函數

springboot+springmvc+mybatis項目整合

訪問頁面,成功

springboot+springmvc+mybatis項目整合

四、springboot整合mybatis

創建數據庫表

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-- ----------------------------
-- table structure for music_info
-- ----------------------------
drop table if exists `music_info`;
create table `music_info` (
 `id` int(10) not null auto_increment comment '主鍵id',
 `singer_name` varchar(100) not null comment '歌手名',
 `music_size` varchar(100) not null comment '歌曲大小',
 `music_name` varchar(100) not null comment '歌曲名',
 primary key (`id`)
) engine=innodb auto_increment=4 default charset=utf8;
 
-- ----------------------------
-- records of music_info
-- ----------------------------
insert into `music_info` values ('1', '小三', '3.2m', '起風了');
insert into `music_info` values ('2', '劉德華', '3.0m', '忘情水');
insert into `music_info` values ('3', '豬點點', '5.0m', '會寫程序的小豬');

創建pojo

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
package com.chaoqi.springboot_test.dao.domain;
 
public class musicinfo {
 // 主鍵id
 private integer id;
 
 // 歌手名
 private string singername;
 
 // 歌曲大小
 private string musicsize;
 
 // 歌曲名
 private string musicname;
 
 /**
  * 獲取 主鍵id music_info.id
  *
  * @return 主鍵id
  */
 public integer getid() {
  return id;
 }
 
 /**
  * 設置 主鍵id music_info.id
  *
  * @param id 主鍵id
  */
 public void setid(integer id) {
  this.id = id;
 }
 
 /**
  * 獲取 歌手名 music_info.singer_name
  *
  * @return 歌手名
  */
 public string getsingername() {
  return singername;
 }
 
 /**
  * 設置 歌手名 music_info.singer_name
  *
  * @param singername 歌手名
  */
 public void setsingername(string singername) {
  this.singername = singername == null ? null : singername.trim();
 }
 
 /**
  * 獲取 歌曲大小 music_info.music_size
  *
  * @return 歌曲大小
  */
 public string getmusicsize() {
  return musicsize;
 }
 
 /**
  * 設置 歌曲大小 music_info.music_size
  *
  * @param musicsize 歌曲大小
  */
 public void setmusicsize(string musicsize) {
  this.musicsize = musicsize == null ? null : musicsize.trim();
 }
 
 /**
  * 獲取 歌曲名 music_info.music_name
  *
  * @return 歌曲名
  */
 public string getmusicname() {
  return musicname;
 }
 
 /**
  * 設置 歌曲名 music_info.music_name
  *
  * @param musicname 歌曲名
  */
 public void setmusicname(string musicname) {
  this.musicname = musicname == null ? null : musicname.trim();
 }
 
 @override
 public string tostring() {
  return "musicinfo{" +
    "id=" + id +
    ", singername='" + singername + '\'' +
    ", musicsize='" + musicsize + '\'' +
    ", musicname='" + musicname + '\'' +
    '}';
 }
}

創建mapper.xml

?
1
2
3
4
5
6
7
8
9
10
<?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="com.chaoqi.springboot_test.dao.mapper.musicinfomapper">
 <resultmap id="baseresultmap" type="com.chaoqi.springboot_test.dao.domain.musicinfo">
 <id column="id" jdbctype="integer" property="id" />
 <result column="singer_name" jdbctype="varchar" property="singername" />
 <result column="music_size" jdbctype="varchar" property="musicsize" />
 <result column="music_name" jdbctype="varchar" property="musicname" />
 </resultmap>
</mapper>

創建mapper

?
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.chaoqi.springboot_test.dao.mapper;
 
import com.chaoqi.springboot_test.dao.domain.musicinfo;
import org.apache.ibatis.annotations.resultmap;
import org.apache.ibatis.annotations.select;
 
import java.util.list;
 
public interface musicinfomapper {
 @resultmap("baseresultmap")
 @select("select * from music_info")
 list<musicinfo> selectall(musicinfo musicinfo);
}

service接口

?
1
2
3
4
5
6
7
8
package com.chaoqi.springboot_test.service;
 
import com.chaoqi.springboot_test.dao.domain.musicinfo;
import java.util.list;
public interface musicinfoservice {
 
 public list<musicinfo> getmusicinfo(musicinfo musicinfo);
}

service實現類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.chaoqi.springboot_test.service.impl;
 
import com.chaoqi.springboot_test.dao.domain.musicinfo;
import com.chaoqi.springboot_test.dao.mapper.musicinfomapper;
import com.chaoqi.springboot_test.service.musicinfoservice;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.service;
 
import java.util.list;
 
@service
public class musicinfoserviceimpl implements musicinfoservice {
 
 @autowired
 private musicinfomapper musicinfomapper;
 
 @override
 public list<musicinfo> getmusicinfo(musicinfo musicinfo) {
  list<musicinfo> musicinfos = musicinfomapper.selectall(null);
  return musicinfos;
 }
}

創建完成后的結構如下

springboot+springmvc+mybatis項目整合

編輯indexcontroller

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package com.chaoqi.springboot_test.web;
 
import com.chaoqi.springboot_test.dao.domain.musicinfo;
import com.chaoqi.springboot_test.service.musicinfoservice;
import org.springframework.beans.factory.annotation.autowired;
import org.springframework.stereotype.controller;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.responsebody;
 
import java.util.list;
 
@controller
public class indexcontroller {
 
 private static final string index = "index";
 @autowired
 private musicinfoservice musicinfoservice;
 
 @requestmapping("/show")
 public string getindex() {
  return index;
 }
 
 @requestmapping("/music")
 @responsebody
 public list<musicinfo> getmusicinfo(musicinfo musicinfo) {
  list<musicinfo> musicinfolist = musicinfoservice.getmusicinfo(null);
  return musicinfolist;
 }
}

給springboottestapplication類加上注解@mapperscan("com.chaoqi.springboot_test.dao.mapper")

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.chaoqi.springboot_test;
 
import org.mybatis.spring.annotation.mapperscan;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
 
@springbootapplication
@mapperscan("com.chaoqi.springboot_test.dao.mapper")
public class springboottestapplication {
 
 public static void main(string[] args) {
  springapplication.run(springboottestapplication.class, args);
 }
}

運行項目,成功,springboot+springmvc+mybatis整合完成(源碼下載地址

springboot+springmvc+mybatis項目整合

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/caichaoqi/p/8580521.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 久久久久一区二区三区四区五区 | 久久久成人精品 | 国产午夜精品一区二区三区在线观看 | 成人444kkkk在线观看 | 国产一区二区三区四 | 中国一级无毛黄色 | 天天色狠狠干 | 欧美一级片一区 | 97中文| 成人国产精品一区 | 女人裸体让男人桶全过程 | 草草视频免费观看 | 国产欧美日韩在线不卡第一页 | 91成人在线免费视频 | 最新中文在线视频 | 久久在线精品视频 | av电影网站在线 | 久久密 | av免费在线播放网址 | 日本一区二区视频在线观看 | 久久撸视频 | 日日噜噜噜噜久久久精品毛片 | 国产欧美日本 | 欧美另类视频在线 | 成年人免费视频播放 | 欧美.com | 国产无区一区二区三麻豆 | 欧美成人一区二区三区电影 | 91看片王| 亚洲第一男人天堂 | 午夜久久电影 | 亚洲综合色视频在线观看 | 在线高清中文字幕 | 国内精品久久久久影院不卡 | 国内精品免费一区二区2001 | 圆产精品久久久久久久久久久 | 精品一区二区三区在线观看国产 | 久久精品久久精品久久精品 | xxxxxx打针视频vk | 亚洲成人福利网站 | 一级黄色在线观看 |