SpingBoot二——引入MySql数据库
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SpingBoot二——引入MySql数据库,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4217字,纯文字阅读大概需要7分钟。
内容图文
![SpingBoot二——引入MySql数据库](/upload/InfoBanner/zyjiaocheng/1204/5de7a071993244afab1a4217d216ac91.jpg)
◆版权声明:本文出自胖喵~的博客,转载必须注明出处。
转载请注明出处:https://www.cnblogs.com/by-dream/p/10486117.html
搭起一个简单的服务后,接下来我们加入数据库,通过服务去读取DB中的数据进行显示。顺便将模块划分再清晰一些。
不说太多了,直接说代码吧。
1、pom.xml的dependencies中入依赖
<!-- mybatis 数据库 --> < dependency > < groupId >org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency><!-- mysql 驱动 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>
注意这里我们引入mybatis,所有和数据库之间的操作都借助它来完成。
2、resource中加入数据库配置和mapper的配置:
# 数据库配置 spring.datasource.url=jdbc:mysql://**.**.**.**:3306/rap?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver # mybatis 配置.xml文件路径 mybatis.mapper-locations=classpath:mapper/*.xml
第一列需要配置你的ip地址和端口,3306后面的第一个斜线后跟数据库名(也就是这里的rap)
这里需要提前登录到服务上进行了建表:
mysql -u root -p 后输入密码进入,创建数据库:
create DATABASE rap;
然后建表:
create table user ( id bigint unsigned not null auto_increment comment ‘主键‘, gmt_create datetime not null comment ‘创建时间‘, gmt_modified datetime not null comment ‘修改时间‘, nick varchar(1024) not null comment ‘名字‘, age bigint unsigned not null comment ‘年龄‘, primary key (id) ) default charset=utf8 comment=‘这是一张用户表‘;
插入一条数据:
insert into user (nick, age) values ("bryan", 27);
建表完成后。我们还需要开启数据库远程链接。首先运行:
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123456‘ ;
这里的123456为你给新增权限用户设置的密码,%代表所有主机,也可以具体到你的主机ip地址
接着运行 flush privileges; 这一步不可获取,否则不会成功。此时我们在本地远程登录到服务器上看下是否可行。
3、在resource中加入创建mapper:
**-mapper.xml 里面的内容有点像写sql一样,这里我们先实现一个findById的方法
<? xml version="1.0" encoding="UTF-8" ?> <! DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd" > < mapper namespace ="com.bryan.demo.dal.dao.UserMapper" > < resultMap id ="userMap" type ="com.bryan.demo.dal.entity.UserDO" > < result property ="id" column ="id" /> < result property ="nick" column ="nick" /> < result property ="age" column ="age" /> </ resultMap > < sql id ="columns" > id, nick, age </ sql > < select id ="findById" parameterType ="java.lang.Long" resultMap ="userMap" > SELECT < include refid ="columns" /> FROM user WHERE id = #{id} </ select > </ mapper >
4、对应的我们需要建一个mapper的类和其对应的数据类do类:
package com.bryan.demo.dal.dao; import com.bryan.demo.dal.entity.UserDO; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper { public UserDO findById(Long id); }
package com.bryan.demo.dal.entity; import java.io.Serializable; public class UserDO implements Serializable { /** * 主键 */private Long id; private String nick; privateint age; public String getNick() { return nick; } publicvoid setNick(String nick) { this.nick = nick; } publicint getAge() { return age; } publicvoid setAge(int age) { this.age = age; } }
UserMapper类的作用就是提供数据库操作的方法,UserDO类的作用就是将数据库中的数据转化为Java数据类型;
5、接下来Service层的实现:
定义接口:
package com.bryan.demo.service; import com.bryan.demo.dal.entity.UserDO; public interface UserService { UserDO findById(Long id); }
接口的实现:
package com.bryan.demo.service.impl; import com.bryan.demo.dal.dao.UserMapper; import com.bryan.demo.dal.entity.UserDO; import com.bryan.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserServiceImpl implements UserService { @Autowired public UserMapper userMapper; @Override public UserDO findById(Long id) { UserDO userDO = userMapper.findById(1L); return userDO; } }
6、最终Controller层直接调用service的接口返回:
@RestController public class MachineInfoController { @Autowired UserService userService; @RequestMapping("/") String homePage() { UserDO userDO = userService.findById(1L); return "name:"+userDO.getNick() + " age:"+userDO.getAge(); } }
此时我们在浏览器情况,查看:
好,看下整体的目录结构:
整理了一下关系链:
由于本节只说数据库,所以整体的服务端的架构还没有特别的完善,下一节我会针对整体服务端架构进行分层,然后详细说明。
代码我传到git上:
原文:https://www.cnblogs.com/by-dream/p/10486117.html
内容总结
以上是互联网集市为您收集整理的SpingBoot二——引入MySql数据库全部内容,希望文章能够帮你解决SpingBoot二——引入MySql数据库所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。