wps连接mysql数据库_SpringBoot框架与MyBatis集成,连接Mysql数据库

SpringBoot是一种用来简化新Spring应用初始搭建及开发过程的框架,它使用特定方式来进行配置,使得开发人员不再需要定义样板化的配置。MyBatis是一个支持普通SQL查询、存储和高级映射的持久层框架,它消除了几乎所有的JDBC代码和参数的手工配置以及对结果集的检索封装,可以使用简单的XML或注解用于配置和原始映射,将接口和Java的对象映射成数据库中的记录。

最近的项目有相关需求,集成SpringBoot和MyBatis框架后,进行Mysql数据库的数据访问,实现功能后总结于此博客,方便以后查看。

首先下载一个SpringBoot的demo程序,然后在它上面集成,访问:demo下载,如下图所示,勾选Web选项后点击Generate Project即可下载工程。

1284ce5eb23b06c7203d49941636f214.png

打开demo后可以更改项目名称,设置目录为如下图形式,其中需要的jar包自行下载,

b31c71c9457feab53a35c6afbf6b48c3.png

然后对每一个文件进行编辑,示例中有Disaster和Economic两部分内容,仅介绍Disaster部分原理即可。

先构建Disaster类,根据Mysql中表的数据情况建立对象,Disaster.java代码如下:

1 packagesmm.springboot.bean;2

3 public classDisaster {4 private intid;5 private String deathtoll;//死亡人数

6 private String injuriesnumber;//受伤人数

7 private String disappearancenumber;//失踪人数

8 private String total;//总人数

9 privateString did;10 public intgetId() {11 returnid;12 }13 public void setId(intid) {14 this.id =id;15 }16 publicString getDeathtoll() {17 returndeathtoll;18 }19 public voidsetDeathtoll(String deathtoll) {20 this.deathtoll =deathtoll;21 }22 publicString getInjuriesnumber() {23 returninjuriesnumber;24 }25 public voidsetInjuriesnumber(String injuriesnumber) {26 this.injuriesnumber =injuriesnumber;27 }28 publicString getDisappearancenumber() {29 returndisappearancenumber;30 }31 public voidsetDisappearancenumber(String disappearancenumber) {32 this.disappearancenumber =disappearancenumber;33 }34 publicString getTotal() {35 returntotal;36 }37 public voidsetTotal(String total) {38 this.total =total;39 }40 publicString getDid() {41 returndid;42 }43 public voidsetDid(String did) {44 this.did =did;45 }46 }

接下来是Mybatis的接口DisasterMapper.java,代码如下:

1 packagesmm.springboot.mapper;2 importorg.apache.ibatis.annotations.Mapper;3

4 importsmm.springboot.bean.Disaster;5

6 @Mapper7 public interfaceDisasterMapper {8 public void insert(Disaster disaster);//插入数据

9 public Disaster find(int id);//查找数据

10 }

对应的mapper文件,DisasterMapper.xml,插入数据和查找数据的程序都是在这个XML文件中生成,代码如下:

1

2

3

4

5

6

7 INSERT INTO d_disaster_overview(deathtoll,injuriesnumber,disappearancenumber,total,did) VALUE(#{deathtoll},#{injuriesnumber},#{disappearancenumber},#{total},#{did});8

9

10

11

12 SELECT sum(deathtoll) as deathtoll,sum(injuriesnumber) as injuriesnumber,sum(disappearancenumber) as disappearancenumber, sum(total) as total FROM d_disaster_overview WHERE ID=#{id}13

14

然后是业务层的接口与实现类,DisasterIService.java的代码如下:

1 packagesmm.springboot.service;2 importorg.springframework.stereotype.Component;3 importorg.springframework.web.servlet.DispatcherServlet;4

5 importsmm.springboot.bean.Disaster;6

7 public interfaceDisasterIService{8

9 public booleaninsert(Disaster disaster);10 public Disaster find(intid);11 }

DisasterService.java的代码如下:

1 packagesmm.springboot.service.impl;2

3 importjavax.annotation.Resource;4 importorg.springframework.context.annotation.ComponentScan;5 importorg.springframework.stereotype.Service;6

7 importsmm.springboot.bean.Disaster;8 importsmm.springboot.mapper.DisasterMapper;9 importsmm.springboot.service.DisasterIService;10

11 @ComponentScan({"smm.springboot.mapper"})12 @Service("disasterService")13 public class DisasterService implementsDisasterIService{14 @Resource15 privateDisasterMapper disasterMapper;16 @Override17 public booleaninsert(Disaster disaster) {18

19 try{20 disasterMapper.insert(disaster);21 } catch(Exception e) {22 //TODO Auto-generated catch block

23 return false;24 }25 return true;26 }27 @Override28 public Disaster find(intid) {29 returndisasterMapper.find(id);30 }31 }

接下来是比较重要的前端控制器AllController.java,它之中关于Disaster的部分代码如下:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 packagecom.example.demo;2

3 importjavax.annotation.Resource;4 importorg.mybatis.spring.annotation.MapperScan;5 importorg.springframework.context.annotation.ComponentScan;6 importorg.springframework.stereotype.Controller;7 importorg.springframework.web.bind.annotation.RequestMapping;8 importorg.springframework.web.bind.annotation.ResponseBody;9 importcom.google.gson.JsonObject;10

11 import smm.springboot.bean.*;12 import smm.springboot.service.impl.*;13

14 @Controller15 @ComponentScan({"smm.springboot.service"})16 @MapperScan({"smm.springboot.mapper"})17 public classAllController {18

19 @Resource20 privateDisasterService disasterService;21 //Disaster部分

22 @RequestMapping("/DisasterSaveresult")23 @ResponseBody24 publicString helloD(Disaster disaster) {25 boolean result=disasterService.insert(disaster);26 JsonObject json=newJsonObject();27 if(result){28 json.addProperty("manager", "添加成功");29 json.addProperty("result", "1");30 }else{31 json.addProperty("manager", "添加失败");32 json.addProperty("result", "0");33 }34 returnjson.toString();35 }36 @RequestMapping("/DisasterFind")37 @ResponseBody38 public String sayD(intid){39 Disaster d=disasterService.find(id);40 JsonObject json=newJsonObject();41 json.addProperty("deathtoll", d.getDeathtoll());42 json.addProperty("injuriesnumber", d.getInjuriesnumber());43 json.addProperty("disappearancenumber", d.getDisappearancenumber());44 json.addProperty("total", d.getTotal());45 returnjson.toString();46 }47 @RequestMapping("/DisasterSave")48 publicString jspD() {49 return "DisasterIndex";50 }51 }

View Code

还有ServletInitializer.java,其代码如下:

1 packagecom.example.demo;2

3 importorg.springframework.boot.builder.SpringApplicationBuilder;4 importorg.springframework.boot.web.servlet.support.SpringBootServletInitializer;;5

6 public class ServletInitializer extendsorg.springframework.boot.web.servlet.support.SpringBootServletInitializer{7 @Override8 protectedSpringApplicationBuilder configure(SpringApplicationBuilder application) {9 return application.sources(this.getClass());10 }11 }

还有SpringBoot的配置文件application.properties,内容如下:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

server.context-path=/HelloWorld

spring.datasource.driver-class-name =com.mysql.jdbc.Driver

spring.datasource.url=jdbc:mysql://10.10.10.7:3306/mysql

spring.datasource.username =name

spring.datasource.password=password

mybatis.typeAliasesPackage=smm.springboot.bean

mybatis.mapperLocations=classpath:mapper/*Mapper.xml

spring.freemarker.template-loader-path=classpath:/templates/

spring.freemarker.cache=false

spring.freemarker.charset=UTF-8

spring.freemarker.check-template-location=true

spring.freemarker.content-type=text/html

spring.freemarker.expose-request-attributes=true

spring.freemarker.expose-session-attributes=true

spring.freemarker.request-context-attribute=request

spring.freemarker.suffix=.ftl

spring.mvc.view.prefix = /WEB-INF/jsp/

spring.mvc.view.suffix = .jsp

View Code

还有maven项目的配置文件pom.xml,内容如下:

1

2

3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4 4.0.0

5

6 disaster

7 disaster

8 0.0.1-SNAPSHOT

9 war

10

11 springbootone

12 http://maven.apache.org

13

14

15 UTF-8

16

17

18

19

20 org.springframework.boot

21 spring-boot-starter-parent

22 2.1.0.RELEASE

23

24

25

26

27

28 org.springframework.boot

29 spring-boot-starter-web

30

31

32

33 mysql

34 mysql-connector-java

35 5.1.19

36

37

38

39 org.mybatis

40 mybatis

41 3.4.5

42

43

44 org.mybatis

45 mybatis-spring

46 1.3.1

47

48

49 org.springframework

50 spring-webmvc

51 5.1.2.RELEASE

52

53

54 org.springframework

55 spring-tx

56 5.1.2.RELEASE

57

58

59 org.apache.logging.log4j

60 log4j-core

61 2.7

62

63

64 com.alibaba

65 druid

66 1.1.6

67

68

69 org.springframework

70 spring-jdbc

71 5.0.2.RELEASE

72

73

74 org.mybatis.spring.boot

75 mybatis-spring-boot-starter

76 1.2.0

77

78

79 org.springframework.boot

80 spring-boot-starter-web

81

82

83

84 org.springframework.boot

85 spring-boot-starter-tomcat

86 provided

87

88

89 org.apache.tomcat.embed

90 tomcat-embed-jasper

91 provided

92

93

94

95 javax.servlet

96 jstl

97

98

99 com.google.code.gson

100 gson

101 2.8.0

102

103

104

105

106 BOOT

107

108

109

110 org.apache.maven.plugins

111 maven-compiler-plugin

112

113 1.8

114 1.8

115 1.8

116 UTF-8

117

118

119

120

121 org.apache.maven.plugins

122 maven-resources-plugin

123

124 UTF-8

125

126

127

128

129

另外还配置了一个用来输入数据的页面DisasterIndex.jsp,目录如下图:

8ff34fa27174ace6aede9d2f97969b4e.png

内容代码如下:

1

2 pageEncoding="UTF-8"%>

3

4

5

6

输入灾害数据

7

8

9

Please input disaster data!

10

11

12

13

14

死亡人数

15

受伤人数

16

失踪人数

17

总人数

18

Did

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

最后是程序启动类DemoApplication.java,内容如下:

1 packagecom.example.demo;2

3 importorg.springframework.boot.SpringApplication;4 importorg.springframework.boot.autoconfigure.SpringBootApplication;5 import java.net.*;6 importjava.util.ArrayList;7 importjava.util.List;8 importjava.io.FileOutputStream;9 importjava.io.InputStream;10 importjava.io.FileNotFoundException;11 importjava.io.IOException;12

13 importorg.apache.http.HttpEntity;14 importorg.apache.http.HttpResponse;15 importorg.apache.http.NameValuePair;16 importorg.apache.http.client.HttpClient;17 importorg.apache.http.client.methods.HttpGet;18 importorg.apache.http.client.entity.UrlEncodedFormEntity;19 importorg.apache.http.client.methods.HttpPost;20 importorg.apache.http.impl.client.DefaultHttpClient;21 importorg.apache.http.message.BasicNameValuePair;22 importorg.apache.http.util.EntityUtils;23 importorg.codehaus.jettison.json.JSONObject;24

25

26 @SpringBootApplication27 public classDemoApplication {28 public static voidmain(String[] args) {29 SpringApplication.run(DemoApplication.class, args);30 }31 }

点击Run As Java Application后启动,可看到如下信息:

7b26d815c91f856abbf5aa19bbce8382.png

在浏览器输入http://localhost:8080//DisasterSave,得到以下页面,便可在表格中输入数据并插入到Mysql数据库的表中。

1a46aae4b46b57c584657cf5bab8ab10.png

至此,整个工程已经完成!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部