一、mysql环境搭建
采用docker-compose搭建,配置如下:
docker-compose.yml
version: '3' services: mysql: image: registry.cn-hangzhou.aliyuncs.com/zhengqing/mysql:5.7 # 原镜像`mysql:5.7` container_name: mysql_3306 # 容器名为'mysql_3306' restart: unless-stopped # 指定容器退出后的重启策略为始终重启,但是不考虑在Docker守护进程启动时就已经停止了的容器 volumes: # 数据卷挂载路径设置,将本机目录映射到容器目录 - "./mysql/my.cnf:/etc/mysql/my.cnf" - "./mysql/init-file.sql:/etc/mysql/init-file.sql" - "./mysql/data:/var/lib/mysql" # - "./mysql/conf.d:/etc/mysql/conf.d" - "./mysql/log/mysql/error.log:/var/log/mysql/error.log" - "./mysql/docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d" # 可执行初始化sql脚本的目录 -- tips:`/var/lib/mysql`目录下无数据的时候才会执行(即第一次启动的时候才会执行) environment: # 设置环境变量,相当于docker run命令中的-e TZ: Asia/Shanghai LANG: en_US.UTF-8 MYSQL_ROOT_PASSWORD: root # 设置root用户密码 MYSQL_DATABASE: demo # 初始化的数据库名称 ports: # 映射端口 - "3306:3306"
启动mysql容器
docker-compose -f docker-compose.yml -p mysql5.7 up -d
创建user表和插入测试数据
CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCRE INSERT INTO demo.`user`(id, name, age)VALUES(1, 'jack', 18); INSERT INTO demo.`user`(id, name, age)VALUES(2, 'alyssa', 19);
二、代码工程搭建
2.1 pom.xml
springboot-demo com.et 1.0-SNAPSHOT 4.0.0 mysql8 8 org.springframework.boot spring-boot-starter-weborg.springframework.boot spring-boot-autoconfiguremysql mysql-connector-java8.0.29 org.springframework.boot spring-boot-starter-jdbccom.baomidou mybatis-plus-boot-starter3.5.1 org.projectlombok lombokorg.springframework.boot spring-boot-starter-testtest
2.2 entity
package com.et.mysql.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor @TableName("user") public class UserPO { @TableId(value = "id",type = IdType.AUTO) private int id; @TableField("name") private String name; @TableField("age") private int age; }
2.3 mapper
package com.et.mysql.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.et.mysql.entity.UserPO; import org.springframework.stereotype.Repository; @Repository public interface UserMapper extends BaseMapper{ }
2.4 application.yaml
server: port: 8088 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver type: com.zaxxer.hikari.HikariDataSource url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: root
2.5 验证服务
package com.et.mysql; import com.et.mysql.entity.UserPO; import com.et.mysql.mapper.UserMapper; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @SpringBootTest(classes = DemoApplication.class) public class MysqlTests { @Autowired private UserMapper userMapper; @Test public void testmysql(){ for (UserPO userPO : userMapper.selectList(null)) { System.out.println(userPO.toString()); } } }
结果如预期一样
2024-01-26 13:29:22.950 INFO 30100 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2024-01-26 13:29:23.160 INFO 30100 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. UserPO(id=1, name=jack, age=18) UserPO(id=2, name=alyssa, age=19)
三、测试代码仓库
https://github.com/Harries/springboot-demo/
四、参考资料
https://spring.io/projects/spring-data-jdbc/#overview
猜你喜欢
- 17天前(零碳中国·绿色投资蓝皮书)中国"零碳"差旅之路暨"绿色低碳酒店"标准研究项目成果发布会召开
- 17天前(万豪酒店 珠海)万豪酒店品牌启航珠海金湾,续写大湾区拓展新篇
- 17天前(甘州区文化旅游局)2025甘津文旅资源对接推介会在兰州举办
- 17天前(甘肃文化旅游宣传片)甘肃文旅推介走进重庆
- 17天前(新西兰“空降”上海:新西兰旅游局邀请你来“玩真的”!)新西兰“空降”上海:新西兰旅游局邀请你来“玩真的”!
- 17天前(中国旅游集团旗下酒店)中国旅游集团酒店控股有限公司战略投资雅阁酒店集团
- 17天前(岭南东方大酒店)粤西成势 | 阳江阳春长兴岭南东方酒店正式签约,粤西文旅再添明珠
- 17天前(世茂海峡大厦多高)巴西地产高管齐聚厦门世茂海峡大厦 共探超高层建筑锻造经验
- 17天前(新西兰旅游局×时差岛:黄觉的“长白云之乡”奇遇)新西兰旅游局×时差岛:黄觉的“长白云之乡”奇遇
- 17天前(第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章