写点什么

【SpringBoot】引入 mybatis 及连接 Mysql 数据库

作者:游坦之
  • 2022-11-27
    山东
  • 本文字数:1679 字

    阅读完需:约 6 分钟

​创建一个 SpringBoot 项目其他不赘叙了,引入 MyBaties、MySql 依赖


创建 mysql 表 CREATE TABLE sp_users(id INT PRIMARY KEY,username VARCHAR(30),age INT);


刚开始一直出现这个错误,弄的我怀疑人生,结果是最后一行不能加',' ,物是人非。


INSERT INTO sp_users(id,username,age) VALUES(1,"张三",11);INSERT INTO sp_users(id,username,age) VALUES(2,"李四",21);INSERT INTO sp_users(id,username,age) VALUES(3,"游坦之",800);


编写实体类


因为引入了 Lombok,所以直接用了


package com.you.domain;


import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import lombok.ToString;


@Data@NoArgsConstructor@AllArgsConstructor@ToStringpublic class user {private int id;private String username;private int age;}配置 application.yaml#datasourcespring:datasource:url: jdbc:mysql:///springboot?serverTimezone=UTCusername: rootpassword: 你的密码 driver-class-name: com.mysql.cj.jdbc.Driver 配置 Mapper 方式一,创建 UserMapper 接口


package com.you.mapper;


import com.you.domain.User;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Select;import org.springframework.stereotype.Repository;


import java.util.List;


@Mapper@Repositorypublic interface UserMapper {@Select("select * from sp_users")public List<User> findAll();}配置测试类


package com.you.boot;


import com.you.boot.domain.User;import com.you.boot.mapper.UserMapper;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;


import java.util.List;


@SpringBootTestclass BootMybatis03ApplicationTests {


@Autowiredprivate UserMapper userMapper;@Testpublic void testFindAll(){    List<User> list = userMapper.findAll();    System.out.println(list);}
复制代码


}效果图


方法二 XML 文件配置编写 xml 文件,namespace 一定要复制全路径,Copy/Copy Reference


<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.you.boot.mapper.UserXmlMapper"><select id="findAll" resultType="user">select * from sp_users</select></mapper> 编写 UserXmlMapper 接口,@Repository 的作用是解决在测试类内爆红,虽然爆红不影响程序的运行。


package com.you.boot.mapper;


import com.you.boot.domain.User;import org.apache.ibatis.annotations.Mapper;import org.springframework.stereotype.Repository;


import java.util.List;


@Mapper@Repositorypublic interface UserXmlMapper {public List<User> findAll();}配置 yaml,*Mapper 值得是所有后缀是 Mapper 的 xml 文件 mybatis:mapper-locations: classpath:mapper/*Mapper.xmltype-aliases-package: com.you.boot.domain 编写测试类


package com.you.boot;


import com.you.boot.domain.User;import com.you.boot.mapper.UserMapper;import com.you.boot.mapper.UserXmlMapper;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;


import java.util.List;


@SpringBootTestclass BootMybatis03ApplicationTests {


@Autowiredprivate UserXmlMapper userXmlMapper;@Testpublic void testFindAll2(){    List<User> list = userXmlMapper.findAll();    System.out.println(list);}
复制代码


}效果


感叹记得当初学 MySQL 的时候,编写 sql 语句非常的熟练,现在非常僵硬,认真写博客真的不失为一种复习的好方法。还有当初学 SSM 的时候,没好好学,没有扎扎实实的学,现在也挺后悔的。快速和详细真的不能兼得。别人的建议可以听听,但一定要坚守自己的内心。倚天照海花无数,流水高山心自知。


用户头像

游坦之

关注

还未添加个人签名 2022-10-14 加入

还未添加个人简介

评论

发布
暂无评论
【SpringBoot】引入mybatis及连接Mysql数据库_spring-boot_游坦之_InfoQ写作社区