一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

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

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團隊提供了一款全新的框架,該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,spring boot致力于在蓬勃發(fā)展的快速應用開發(fā)領域(rapid application development)成為領導者。

特點:

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

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

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

 一、創(chuàng)建項目

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

因為在創(chuàng)建項目的時候我們選擇了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
 
#開發(fā)配置
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下創(chuàng)建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函數(shù)

springboot+springmvc+mybatis項目整合

訪問頁面,成功

springboot+springmvc+mybatis項目整合

四、springboot整合mybatis

創(chuàng)建數(shù)據(jù)庫表

?
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', '會寫程序的小豬');

創(chuàng)建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 + '\'' +
    '}';
 }
}

創(chuàng)建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>

創(chuàng)建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實現(xiàn)類

?
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;
 }
}

創(chuàng)建完成后的結構如下

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女主被当众调教虐np | 亚洲国产成人精品无码区99 | 午夜在线观看免费完整直播网页 | 日本欧美不卡一区二区三区在线 | 精品牛牛影视久久精品 | 青青草一区二区免费精品 | 欧美日韩在线观看精品 | 门房秦大爷最新章节阅读 | 久久全国免费久久青青小草 | 啊哈~嗯哼~用力cao我小说 | 操久| 十六一下岁女子毛片免费 | 欧美午夜视频一区二区三区 | 逼水真多| 日韩综合第一页 | 色网在线观看 | 粉嫩高中生第一次不戴套 | 刺激一区仑乱 | 国产亚洲精品视频中文字幕 | 99精品国产成人一区二区 | 无码毛片内射白浆视频 | 五月天精品视频播放在线观看 | 国产成人激烈叫床视频 | 小舞丝袜调教喷水沦为肉奴 | 免费观看韩剧网站在线观看 | 日韩日日操 | 日本视频观看 | 香蕉久久一区二区三区 | 日韩欧美一区二区三区免费看 | 久久午夜一区二区 | 91小视频在线观看免费版高清 | 亚洲成人福利网站 | chinaese中国女人厕所小便 | 国产免费精彩视频 | 性绞姿始动作动态图 | 日本视频高清免费观看xxx | 日本暖暖视频在线观看 | 国产永久免费爽视频在线 | www视频免费看 | 精品久久成人免费第三区 | 国产经典一区二区三区蜜芽 |