此项目使用idea用Spring Initializr快速搭建,不含service和controller层,使用单元测试试通数据库查询
0)准备数据库表
数据库执行下面语句,创建d_user表
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for d_user
-- ----------------------------
DROP TABLE IF EXISTS `d_user`;
CREATE TABLE `d_user` (
`id` int(0) NOT NULL,
`name` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`ip` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of d_user
-- ----------------------------
INSERT INTO `d_user` VALUES (1001, '雨欣', '100011');
INSERT INTO `d_user` VALUES (1002, '雨欣:324:324:324', '100012');
SET FOREIGN_KEY_CHECKS = 1;
如下:
1)创建Spring Initializr
鼠标选择:file>new>project...进入创建菜单
选择Spring Initializr 修改配置值并next
随后选择你想用的功能,本人在pom文件中添加的,此处直接略过finish
创建后结构如下:
2)mybatis-gennerator生成dao,mapper
项目生成后配置pom文件,引入需要的依赖:在pom文件的build下添加如下代码:
org.springframework.boot
spring-boot-maven-plugin
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.2
src/main/resources/generator/genteratorCongfig.xml
true
true
mysql
mysql-connector-java
8.0.16
tk.mybatis
mapper
3.4.2
src/main/java
**/*.properties
**/*.xml
**/*.yml
false
src/main/resources
**/*.properties
**/*.xml
**/*.yml
false
更新pom依赖加载,在resources文件夹下添加generator文件夹,并创建config.properties;genteratorCongfig.xml;
代码直接粘贴如下:
其中config.properties文件内容如下,注意修改你的数据库配置,自动生成的mapper,dao子文件夹名称,以及生成路径
jdbc.driverClass=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
jdbc.user=root
jdbc.password=root
#模块名
moduleName=d_user
#表名
tableName=d_user
#默认路径
modelPath=com.example.demo1
其中genteratorCongfig.xml 文件内容如下
随后双击序号3处,等待自动生成组件,生成mapper;dao;model如下
打开生成文件,此时pom未引入相关依赖,方法报错:
再次打开pom文件,配置如下内容:(包括了测试单元)
tk.mybatis
mapper-spring-boot-starter
2.1.5
org.projectlombok
lombok
true
mysql
mysql-connector-java
8.0.16
runtime
tk.mybatis
mapper
3.4.2
junit
junit
test
解决报错
3)创建查询语句
创建application.yml,mybatis-config.xml文件如下:
application文件内容如下:
spring:
application:
name: springboot-mybatis
# profiles:
# active: test
datasource:
#MySQL数据库支持配置
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowMultiQueries=true
username: root
password: root
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 5
maximum-pool-size: 100
idle-timeout: 600000
pool-name: OrderHikariCP
max-lifetime: 1800000
connection-timeout: 60000
connection-test-query: SELECT 1
server:
port: 8088
mybatis:
config-location: classpath:mybatis-config.xml
type-aliases-package: org.example.common.dao.**
mapper-locations: classpath:mapper/*/*.xml
dataType: 0
mybatis-config文件内容如下:
随后在mapper中创建查询selectAllById方法:
DUser selectAllById(@Param("id") Integer id);
在mapper映射中添加查询语句:
注意:resultType若为java对象,地址映射对。
id,name,ip
再修改springboot启动项如下:
@ComponentScan(value = {"com.example"})
@MapperScan("com.example.demomybatis.**")
修改测试启动项如下:
@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = Demo1Application.class)
class Demo1ApplicationTests {
@Autowired(required=true)
DUserMapper dUserMapper;
@Test
void contextLoads() {
System.out.println("here==="+dUserMapper.selectAllById(1001).getName());
}
}
启动测试单元,查询成功。
注意:若重新逆向工程创建项目,需要删除mapper文件,不然累加,启动报错
进阶项目---搭建dubbo项目: https://www.jianshu.com/p/be534104785b