java springBoot整合MyBatis LTS
创建数据库
使用 navicat111_mysql_cs_x86 打开 本地的 mysql 学习测试用数据库
123456
内容为:
select version(), @@sql_mode;
SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
CREATE DATABASE ssm_db;
USE ssm_db;
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for tbl_book
-- ----------------------------
DROP TABLE IF EXISTS `tbl_book`;
CREATE TABLE `tbl_book` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`type` varchar(20) DEFAULT NULL,
`name` varchar(50) DEFAULT NULL,
`description` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of tbl_book
-- ----------------------------
INSERT INTO `tbl_book` VALUES ('1', '计算机理论','Spring实战第5版','Spring入门经典教程,深入理解Spring原理技术内幕');
INSERT INTO `tbl_book` VALUES ('2', '计算机理论','Spring 5核心原理与30个类手写实战','十年沉淀之作,手写Spring精华思想');
INSERT INTO `tbl_book` VALUES ('3', '计算机理论','Spring 5设计模式','深入Spring源码剖析Spring源码中蕴含的10大设计模式');
INSERT INTO `tbl_book` VALUES ('4', '计算机理论','Spring MVC + MyBatis开发从入门到项目实战','全方位解析面向Web应用的轻星级框架,带你成为Spring MVC开发高手');
INSERT INTO `tbl_book` VALUES ('5', '计算机理论','轻量级Java Web企业应用实战','源码级剖析Spring框架,适合已掌握Java基础的读者');
INSERT INTO `tbl_book` VALUES ('6', '计算机理论','Java核心技术卷|基础知识(原书第11版)','Core Java第11版,Jolt大奖获奖作品,针对JavaSE9、 10、 11全面更新');
INSERT INTO `tbl_book` VALUES ('7', '计算机理论','深入理解Java虚拟机','5个维度全面剖析JVM,大厂面试知识点全覆盖');
INSERT INTO `tbl_book` VALUES ('8', '计算机理论','Java编程思想(第4版)','Java学习必读经典,殿堂级著作!赢得了全球程序员的广泛赞誉');
INSERT INTO `tbl_book` VALUES ('9', '计算机理论','零基础学Java (全彩版)','零基础自学编程的入门图书,由浅入深,详解Java语言的编程思想和核心技术');
INSERT INTO `tbl_book` VALUES ('10', '市场营销', '直播就该这么做:主播高效沟通实战指南','李子染、李佳琦、薇娅成长为网红的秘密都在书中');
INSERT INTO `tbl_book` VALUES ('11', '市场营销', '直播销讲实战一本通','和秋叶-起学系列网络营销书籍');
INSERT INTO `tbl_book` VALUES ('12', '市场营销', '直播带货:淘宝、天猫直播从新手到高手','一本教你如何玩转直播的书,10堂课轻松实现带货月入3W+');
运行之后
遇到问题
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'information_schema.PROFILING.SEQ' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
据说是 mysql 8 的问题
需要修改 my.ini文件
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
放在
[mysqld]
下面
IDEA 创建工程
添加一个模块
Next
Finish
OK
把这几个删除掉
开始正式工作
观察 pom.xml 文件
spring 官方的 是 以spring开头
第三方的是以 starter结尾
配置yml 数据库连接
因为现在 mysql8, 所以 使用 上面的 com.mysql.cj.jdbc
内容为:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ssm_db?useSSL=false&serverTimezone=UTC
username: root
password: "123456"
全选
OK
如果你的密码是纯粹的数字,记得加上 双引号
lombook 学习一下
创建boot工程的时候,直接导入lombook即可,然后加上一个@Data注解到实体类上就行了
mybatis-x插件可以自动生成实体类,dao层和service层的接口和实现类
在 java.com.itheima上面
new – class –
Alt+Enter
配置映射
package com.itheima.dao;
import com.itheima.domain.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
@Repository
@Mapper
public interface BookDao {
@Select("select * from tbl_book where id = #{id}")
public Book getById(Integer id);
}
测试一下
package com.itheima;
import com.itheima.dao.BookDao;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class Springboot05MybatisApplicationTests {
@Autowired
private BookDao bookDao ;
@Test
void contextLoads() {
System.out.println(bookDao.getById(1));
}
}
log
SpringBoot2 XXXXXX,springboot零基础到项目实战