MySQL安装教程并使用springboot2和Mybatis测试


MySQL是什么

1561121843986

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

---引用自百度百科

MySQL安装

MySQL的安装可以是直接ZIP解压安装,手动配置后就可以使用,还可以通过安装包安装,本机为win10的操作系统,采用MySQL Installer来安装即可,安装的版本为MySQL Installer 8.0.16,如下,直接下载32bit版本即可,暗转的时候安装导航会自动识别帮助安装64bit,如果你的机器是64位的话;

1561122270595

进入安装界面,选择Custom,用于开发的话,很多东西我们不需要安装;

mysql安装1

选择要安装的包,记住勾选workbench,这是MySQL官方出的GUI管理工具

mysql安装2

下一步

mysql安装4mysql安装3

下一步

mysql安装5

开始进行配置选择,单体应用的话选第一个选项

mysql安装6

选择开发电脑,端口号默认即可,尽量不改mysql安装7

安全性考虑,选择需要输入账号密码

mysql安装8

mysql安装9

选择创建Mysql服务

mysql安装10

mysql安装11

创建成功,输入账号密码check一下

mysql安装12

mysql安装13

安装成功了

mysql安装14

开始使用一下MySQL

打开刚才勾选安装的shell,看看版本信息是否安装成功了,如下,MySQL Shell 的版本为8.0.16

mysql安装15

打开workbench,界面很清爽,看起来还不错吧,可以看到已经创建了一个默认的实例MySQL80

mysql安装16

打开这个是库里面的,打开world这个shema,随便选一个表来看,就city好了,有name字段/countrycode字段等等

mysql安装17

用spring boot2+Mybatis试试MySQL

这里不详细叙述spring boot2或Mybatis怎么用,仅仅是写个小代码测试下MySQL的使用;

创建数据库和表

首先我们要创建一个库,咱给他的编码格式设为utf8的,避免中文乱码,如下

CREATE database mytest01 DEFAULT CHARACTER SET utf8;

use mytest01;

再创建一张测试表,也是utf8的格式,这里创建一张产品表,就定个名称、描述、价格3个字段,简单搞搞

CREATE TABLE product(
    id int(11) not null PRIMARY KEY auto_increment,
    name varchar(128) DEFAULT null,
    description varchar(1000) DEFAULT null,
    price DOUBLE DEFAULT null
)DEFAULT charset=utf8;

再插入几条测试数据

INSERT INTO product(name,description,price) VALUES('小苹果','一种熟透了的水果',6.99);
INSERT INTO product(name,description,price) VALUES('orange','yellow fruit',5.99);
INSERT INTO product(name,description,price) VALUES('rice','a kind of food',3.99);
INSERT INTO product(name,description,price) VALUES('樱桃','女朋友非要买的很贵的水果',55.99);

拉通spring boot2+mybatis

先讲下pom.xml,把必要的包依赖进来,我这里用了德鲁伊的数据源,引入fastjson是为了用Object快转json

<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>2.0.1</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>
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid</artifactId>
   <version>1.1.9</version>
</dependency>
<dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>fastjson</artifactId>
   <version>1.2.30</version>
</dependency>

数据库配置如下,最后mybatis.mapperLocations是指定我mapper的xml位置

# 数据源配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.url=jdbc:mysql:///mytest01?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456

mybatis.mapperLocations= classpath:mapper/*.xml

实体类ProductPO

/**
 * product实体
 *
 * @author : spzh
 * @since : 2019-06-19 22:59
 */
public class ProductPO implements Serializable {
   private Integer id;
   private String name;
   private String description;
   private Double price;
    省略set/get
}

Dao层,可以以Dao结尾或者Mapper都可以,@Mapper注解下,不需要写实现类

/**
 * product Dao
 *
 * @author : spzh
 * @since : 2019-06-19 23:02
 */
@Mapper
public interface IProductDao {
   List<ProductPO> getAllProducts();
}

Service层,为了简单起见,我这里就没有写异常处理了

/**
 * product service
 *
 * @author : spzh
 * @since : 2019-06-19 23:13
 */
@Service
public class ProductService {
   
   @Autowired
   private IProductDao productDao;
   
   public List<ProductPO> getAllProducts() {
      return productDao.getAllProducts();
   }
   
}

Controller层,简单映射到products这个路径下即可

/**
 * product controller
 *
 * @author : spzh
 * @since : 2019-06-19 23:14
 */
@RestController
public class ProductController {
   @Autowired
   private ProductService productService;
   
   @RequestMapping("/products")
   public String getAllProducts(){
      List<ProductPO> allProducts = productService.getAllProducts();
      return JSON.toJSONString(allProducts);
   }
}

mapper里面的sql很简单,也就是一次性全部查出来,我mapper放在了resouces/mapper下了,需要在properties里面指定位置

<?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.zhoukk.demo.product.IProductDao">
    <select id="getAllProducts" resultType="com.zhoukk.demo.product.ProductPO">
        select * from product
    </select>
</mapper>

编译运行springboot,在浏览器中输入:http://localhost:8080/products

1561127919240

浏览器中即刻显示

1561127983873


本文由周框框创作, 可自由转载、引用,但需署名作者且注明文章出处。

作者简介:某厂的一枚程序汪,爱生活爱运动爱交流爱写点小代码,欢迎你任何渠道找我聊天交流,来玩哦~

创作不易,如果觉得本文对有你有帮助,可以随便点一下推荐,或者粉一个,或者打个赏呗~

转载于:https://www.cnblogs.com/zhoukk/p/11067165.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值