wps连接mysql数据库_SpringBoot框架与MyBatis集成,连接Mysql数据库
SpringBoot是一种用来简化新Spring应用初始搭建及开发过程的框架,它使用特定方式来进行配置,使得开发人员不再需要定义样板化的配置。MyBatis是一个支持普通SQL查询、存储和高级映射的持久层框架,它消除了几乎所有的JDBC代码和参数的手工配置以及对结果集的检索封装,可以使用简单的XML或注解用于配置和原始映射,将接口和Java的对象映射成数据库中的记录。
最近的项目有相关需求,集成SpringBoot和MyBatis框架后,进行Mysql数据库的数据访问,实现功能后总结于此博客,方便以后查看。
首先下载一个SpringBoot的demo程序,然后在它上面集成,访问:demo下载,如下图所示,勾选Web选项后点击Generate Project即可下载工程。

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

然后对每一个文件进行编辑,示例中有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的部分代码如下:


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,内容如下:


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,目录如下图:

内容代码如下:
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
Did19
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后启动,可看到如下信息:

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

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