springboot2整合mysql5_SpringBoot2整合SSM框架详解

SpringBoot2整合SSM框架详解

发布时间:2019-01-15 21:33,

浏览次数:1218

, 标签:

SpringBoot

SSM

<>开发环境

* 开发工具:Eclipse + STS插件

* JDK版本:9.0.4

* MySQL版本:8.0.12

* Spring Boot版本:2.1.2

<>1、创建Spring Boot工程

<> (1)工程创建过程

<> (2)工程目录结构

注:工程创建完成后,缺少的文件夹需手动补全。

<> (3)添加额外依赖工程

所依赖的jar包和插件由工程创建过程中所选的组件自动生成。由于本工程需要用到JSP视图,需要在pom.xml中手动添加额外依赖:

org.apache.tomcat.embed

tomcat-embed-jasper

javax.servletjstl

dependency>

<> (4)配置application.yml文件

注:Spring Boot工程默认的配置文件为application.properties,可选中配置文件,单击鼠标右键,选中Convert

.properties to .yaml后,转为application.yml文件。

<>application.yml:

#服务器配置 server: port: 8090 #spring配置 spring: #数据源配置 datasource: #配置mysql数据库

driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql:

//localhost/customer_manager?serverTimezone=CTT username: root password: 1314

#配置dbcp连接池 dbcp2: connection-init-sqls: characterEncoding=utf-8 initial-size: 5

max-idle: 100 max-wait-millis: 10000 min-idle: 5 test-on-borrow: true

test-while-idle: true time-between-eviction-runs-millis: 27800 #配置JSP视图 mvc:

view: prefix: /WEB-INF/jsp/ suffix: .jsp #配置mybatis框架 mybatis: #定义Mapper接口映射文件位置

mapper-locations: classpath:mapper/*.xml #定义实体类位置 type-aliases-package:

com.ming.ssm.pojo#控制台打印sql语句 logging: level: com.ming.ssm.mapper: debug

<>2、持久层实现

<>customer_manager数据库中customer表的构建:

<>Customer:

package com.ming.ssm.pojo; import java.io.Serializable; /** *

数据库(customer_manager)中表(customer)所对应的实体类(Customer) * @author Mr.F * */ public

class Customer implements Serializable{ private static final long

serialVersionUID= 1L; private Long c_id; private String c_name; private String

c_password; private String c_address; private String c_phone; private String

c_email; public Long getC_id() { return c_id; } public void setC_id(Long c_id) {

this.c_id = c_id; } public String getC_name() { return c_name; } public void

setC_name(String c_name) { this.c_name = c_name; } public String getC_password()

{ return c_password; } public void setC_password(String c_password) { this.

c_password= c_password; } public String getC_address() { return c_address; }

public void setC_address(String c_address) { this.c_address = c_address; }

public String getC_phone() { return c_phone; } public void setC_phone(String

c_phone) { this.c_phone = c_phone; } public String getC_email() { return c_email

; } public void setC_email(String c_email) { this.c_email = c_email; } }

<>CustomerMapper:

package com.ming.ssm.mapper; import java.util.List; import org.apache.ibatis.

annotations.Mapper; import com.ming.ssm.pojo.Customer; /** *

持久层实现Mybatis框架中的Mapper接口,声名对数据库的操作方法 * @author Mr.F * */ @Mapper public

interface CustomerMapper { List findAllCustomer(); //查询所有客户信息 }

<>CustomerMapper.xml:

<?xml version="1.0" encoding="UTF-8"?> /p>

"-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

namespace="com.ming.ssm.mapper.CustomerMapper">

SELECT * FROM `customer`

<>3、业务层实现

<>CustomerService:

package com.ming.ssm.service; import java.util.List; import com.ming.ssm.pojo.

Customer; /** * 定义业务层接口 * @author Mr.F * */ public interface CustomerService {

List findAllCustomer(); //查询所有客户信息 }

<>CustomerServiceImpl:

package com.ming.ssm.service.impl; import java.util.List; import org.

springframework.beans.factory.annotation.Autowired; import org.springframework.

stereotype.Service; import com.ming.ssm.mapper.CustomerMapper; import com.ming.

ssm.pojo.Customer; import com.ming.ssm.service.CustomerService; /** *

实现业务层的CustomerService接口 * @author Mr.F * */ @Service public class

CustomerServiceImpl implements CustomerService{ @Autowired private

CustomerMapper customerMapper; @Override public List findAllCustomer()

{ return customerMapper.findAllCustomer(); } }

<>4、控制层实现

<>CustomerController:

package com.ming.ssm.controller; import java.util.List; import org.

springframework.beans.factory.annotation.Autowired; import org.springframework.

stereotype.Controller; import org.springframework.ui.Model; import org.

springframework.web.bind.annotation.RequestMapping; import com.ming.ssm.pojo.

Customer; import com.ming.ssm.service.CustomerService; /** * 定义控制层类 * @author

Mr.F * */ @Controller public class CustomerController { @Autowired private

CustomerService customerService; @RequestMapping("findAll") public String

findAll(Model model) { List list = customerService.findAllCustomer();

model.addAttribute("list", list); return "index"; } }

<>index.jsp:

pageEncoding="UTF-8"%>

prefix="c"%>/p>

"http://www.w3.org/TR/html4/loose.dtd">

客户管理页面

客户管理系统

客户ID客户姓名客户密码客户地址

td>

客户手机客户邮箱

align="center">

${c.c_id} ${c.c_name} ${c.c_password}${c.c_address } ${c.c_phone } ${c.c_email }

c:forEach>

<>5、工程测试

在该工程下找到Spring Boot入口类:SpringbootCustomerApplication.java,单击鼠标右键,选中Run As

-->Spring Boot App运行。在浏览器地址栏访问http://localhost:8090/findAll,其结果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前途无量的MEMS传感器

来源&#xff1a;转载自「民生证券」&#xff0c;谢谢微机电系统&#xff08;Microelectromechanical Systems&#xff0c;简称 MEMS&#xff09;是将微电子技术与精密机械技术结合发展出来的工程技术&#xff0c;尺寸在 1 微米到 100 微米量级&#xff0c;涵盖机械&#xff08…

怎么查看kudu的版本_apache版本kudu kudu-impala安装方法

kudu安装方法简介第一步&#xff1a;下载rpm包http://archive.cloudera.com/kudu/redhat/6/x86_64/kudu/5.12.2/RPMS/x86_64/kudu-1.4.0cdh5.12.20-1.cdh5.12.2.p0.8.el6.x86_64.rpmkudu-client-devel-1.4.0cdh5.12.20-1.cdh5.12.2.p0.8.el6.x86_64.rpmkudu-client0-1.4.0cdh5.…

错误:子进程 已安装 pre-removal 脚本 返回了错误号 1

解决办法sudo rm /var/lib/dpkg/info/<package name>.*转载于:https://www.cnblogs.com/rabitvision/p/7588113.html

【技术趋势】德勤发布2020技术趋势报告,五个新趋势可引发颠覆性变革

来源&#xff1a;产业智能官“2020 年的趋势将颠覆整个行业&#xff0c;并在未来十年重新定义业务&#xff0c;即使数字创新已成为各种规模企业的常规行为。”德勤管理咨询新兴技术研究总监兼政府及公共服务首席技术官 Scott Buchholz 在一份报告中如是说。近日&#xff0c;《德…

Java IO流

IO流是用来处理设备之间的数据传输的&#xff0c;Java对数据的操作都是使用流的方式处理的&#xff0c;而且Java将处理流的操作封装成IO流对象了。 一、IO流的分类 流按照操作的数据分为&#xff1a;字节流、字符流 流按照流的方向分为&#xff1a;输入流、输出流 二、字节流&a…

mysql 模糊查询用法_mysql进阶(六)模糊查询的四种用法介绍

mysql中模糊查询的四种用法介绍这篇文章主要介绍了mysql中模糊查询的四种用法,需要的朋友可以参考下。下面介绍mysql中模糊查询的四种用法&#xff1a;1 %&#xff1a;表示任意0个或多个字符。可匹配任意类型和长度的字符&#xff0c;有些情况下若是中文&#xff0c;请使用两个…

Nature:FB和推特的数据是如何革新社会科学,改变世界的?

大数据文摘出品来源&#xff1a;nature编译&#xff1a;张睿毅2007年&#xff0c;一群有野心的科学家召集了一次会议&#xff0c;讨论新兴的社会科学数据处理的艺术。他们想运用自己的技能来改变世界。在演讲中&#xff0c;马萨诸塞州剑桥市哈佛大学的政治学家加里金&#xff0…

改变文件权限的用户身份

进程的有效用户ID必须是文件的所有者或超级用户转载于:https://www.cnblogs.com/justart/p/7591010.html

python合并两个属性_合并两个部分包含文件列表及其属性的最有效方法

我有一个系统&#xff0c;该系统运行带有ls或dir命令的变体的自定义cli&#xff0c;并返回工作目录中文件和文件夹的列表。问题是&#xff0c;我可以使用带标志的命令运行命令&#xff0c;该标志返回文件及其时间戳(创建和最后修改的日期)&#xff0c;或者返回一个标志返回文件…

格力入局的数控机床,掌握“核心科技”有多难?

来源&#xff1a;脑极体梦想还是要有的&#xff0c;万一要实现了呢&#xff1f;即便不能马上实现&#xff0c;坚持努力也是可以的。2016年&#xff0c;在格力主办的“第二届中国制造高峰论坛”上&#xff0c;董明珠曾放出这样的豪言壮语&#xff1a;两年后&#xff0c;做出最顶…

C#AE创建FeatureDataset/创建数据、集要素集

核心代码 1 IWorkspaceFactory pFactory new AccessWorkspaceFactoryClass();//这里需要在program.cs中添加desktop绑定 2 IWorkspace pWorkspace pFactory.OpenFromFile(temMDBpath, 0);//这里要求具备axLiscense,可以添加控件添加或代码添加 3…

留言板asp mysql_ASP简单入门(制作一个简单的留言板 )

语句……%><2>定义变量dim语句dim a,ba10b”ok!”%>注意&#xff1a;定义的变量可以是数值型&#xff0c;也可以是字符或者其他类型的<3>简单的控制流程语句1. If 条件1 then语句1elseif 条件2 then语句2else语句3endif2.while 条件语句wend3.for count1 to …

深度解析:国产化软硬件全景梳理

本文来源&#xff1a;信创研究框架作者&#xff1a;谢春生、郭雅丽、郭梁良、金兴内容包括产业概括&#xff0c;发展背景、推进节奏和产业全景图&#xff0c;云计算全栈架构、产业链全景图。核心技术&#xff0c;CPU处理器、操作系统、中间件、办公套件、安全保密等。芯片处理器…

适配器模式(类适配器)

java设计模式大体分为23种设计模式&#xff0c;直接通过例子学习设计模式&#xff0c;更易于理解和思考其中的原理和作用&#xff0c;以下给出 适配器模式 的第一种(一个有三种)的demo&#xff0c;叫做类适配器模式&#xff1a; MainRun.java类&#xff0c;是程序运行入口&…

空间连接时计算总和_学习CALCULATE函数(六)丨帕累托之累计求和

(写在前面的话&#xff1a;非常感谢韭菜大神和冬神的指点&#xff0c;万分感谢。)哎&#xff0c;说归说&#xff0c;还是需要继续学习CALCULATE函数&#xff0c;也是蛮无奈的。最近白茶在研究帕累托分析法&#xff0c;本期分享一下帕累托ABC分析法的基础——累计求和。这里简要…

揭秘仿人机器人背后的技术秘密 | 优必选研究院技术专家刘益彰【附PPT】

来源&#xff1a;机器人大讲堂机器人大讲堂直播间037期目前国际上主要有两种控制方式的仿人机器人&#xff1a;一种是基于位置控制的仿人机器人&#xff0c;另一种是基于力矩控制的仿人机器人。由于类人运动的功能的多样性、复杂性以及高维度性&#xff0c;所以仿人机器人的研究…

luoguP1463:反素数ant(打表心得☆)

题目描述对于任何正整数x&#xff0c;其约数的个数记作g(x)。例如g(1)1、g(6)4。如果某个正整数x满足&#xff1a;g(x)>g(i) 0<i<x&#xff0c;则称x为反质数。例如&#xff0c;整数1&#xff0c;2&#xff0c;4&#xff0c;6等都是反质数。现在给定一个数N&#xff0…

席南华院士:数学的意义

本文转自返朴公众号2020年5月30日&#xff0c;中国科学院院士、中国科学院数学与系统科学研究院研究员席南华受邀作远程报告“数学的意义”&#xff0c;从数学的发展史、数学的特性、数学巨匠的一些观点以及数学美的含义等多个角度讲述了数学的意义。本文为报告文字整理版&…

java简单小项目_Java简易抽奖系统小项目

本文实例为大家分享了Java简易抽奖系统的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下需求&#xff1a;实现一个抽奖系统1 注册2 登录3 抽奖必须先注册 再登陆 再抽奖随机产生4个随机数作为幸运卡号用户注册后 登录的时候 用户名密码输入判断只有三次机会需要做…

2017-9-26 NOIP模拟赛

NOIP 2017 全真模拟冲刺 ---LRH&&XXY 题目名称 那些年 铁路计划 毁灭 题目类型 传统 传统 传统 可执行文件名 years trainfare destroy 输入文件名 years.in trainfare.in d…