信息发布→ 登录 注册 退出

SpringBoot怎么引入mybatis与连接Mysql数据库

发布时间:2023-05-26

点击量:

创建一个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
@ToString
public class user {
    private int id;
    private String username;
    private int age;
}

配置application.yaml

#datasourcespring:  datasource:    url: jdbc:mysql:///springboot?serverTimezone=UTC    username: root    password: 你的密码    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
@Repository
public interface UserMapper {
    @Select("select * from sp_users")
    public List 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;
@SpringBootTest
class BootMybatis03ApplicationTests {
    @Autowired
    private UserMapper userMapper;
    @Test
    public void testFindAll()
    {
        List list = userMapper.findAll();
        System.out.println(list);
    }
}

效果图

方法二 XML文件配置

编写xml文件,namespace一定要复制全路径,Copy/Copy Reference




    

编写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
@Repository
public interface UserXmlMapper {
    public List findAll();
}

配置yaml,*Mapper值得是所有后缀是Mapper的xml文件

mybatis:
  mapper-locations: classpath:mapper/*Mapper.xml
  type-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;
@SpringBootTest
class BootMybatis03ApplicationTests {
    @Autowired
    private UserXmlMapper userXmlMapper;
    @Test
    public void testFindAll2()
    {
        List list = userXmlMapper.findAll();
        System.out.println(list);
    }
}

效果

标签:# mysql  # springboot  # 他不  # 用了  # 刚开始  # 物是人非  # 创建一个  # 李四  # 结果是  # 引入了  # 我怀疑  # 实体类  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!