web免不了与数据库打交道 如何整合使用mybatis来管理mysql数据库呢? 首先运行sql代码创建一个表,当然也可以图形化界面创建
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(0) NOT NULL AUTO_INCREMENT,
`userName` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`passWord` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`realName` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
INSERT INTO `user` VALUES (1, 'admi', '123', '管理员');
INSERT INTO `user` VALUES (2, 'ayuba', 'ayubai', '管理员');
这样是为了测试是否连接成功
开始整合mybatis
springboot推荐yml配置
spring:
datasource:
username: hl
password: Hl_hl123
url: jdbc:mysql://192.168.10.71:3306/support?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
driver-class-name: com.mysql.cj.jdbc.Driver
使用自己的数据库账号密码测试一下能不能用图形界面连接上
首先引入三个依赖
<!--jdbc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--mybatis-start-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
创建mapper包下的SystemMapper接口
@Mapper
public interface SystemMapper {
@Select("${sql}")
List<LinkedHashMap<String,Object>> getPublicItems(@Param(value = "sql") String sql);
@Select("show tables;")
List<LinkedHashMap<String,Object>> ShowTables();
}
然后创建service文件夹下面的SystemService类
@Service
public class SystemService {
@Autowired
private SystemMapper systemMapper;
List<LinkedHashMap<String,Object>> ShowTables(){
return systemMapper.ShowTables();
}
}
然后再controller里面就能使用了
@Autowired
SystemMapper systemMapper;
注意mapper里面的@Mapper注解,如果不想每个mapper都重复的写,也可以在springboot启动类,上面添加包的名
@MapperScan(basePackages = "com.hello.mapper")