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

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

时间:2022-10-28 18:31:48浏览次数:52  
标签:Mapper SpringBoot mapper Mysql boot org mybatis import com


创建一个SpringBoot项目

其他不赘叙了,引入MyBaties、MySql依赖

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

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

 创建mysql表

CREATE TABLE sp_users(
`id` INT PRIMARY KEY,
`username` VARCHAR(30),
`age` INT
);

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

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

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

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

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);

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

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

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

 编写实体类

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

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

因为引入了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;
}

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

配置application.yaml

#datasource
spring:
datasource:
url: jdbc:mysql:///springboot?serverTimezone=UTC
username: root
password: 你的密码
driver-class-name: com.mysql.cj.jdbc.Driver

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

配置Mapper

方式一,创建UserMapper接口

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

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

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<User> findAll();
}

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

配置测试类

​编辑

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<User> list = userMapper.findAll();
System.out.println(list);
}

}

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

效果图

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

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

 方法二 XML文件配置

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

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

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

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//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>

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

 编写UserXmlMapper接口,@Repository的作用是解决在测试类内爆红,虽然爆红不影响程序的运行。

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

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

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<User> findAll();
}

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

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

mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
type-aliases-package: com.you.boot.domain

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

编写测试类

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

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

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<User> list = userXmlMapper.findAll();
System.out.println(list);
}

}

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

效果

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

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

感叹

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


标签:Mapper,SpringBoot,mapper,Mysql,boot,org,mybatis,import,com
From: https://blog.51cto.com/u_15807146/5805245

相关文章

  • 视频融合平台EasyCVR如何操作MySQL数据库来批量关闭通道?
    EasyCVR具备强大的视频接入、汇聚与管理、视频分发等视频能力,可实现的视频功能包括:视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、服务器集群、智......
  • SpringBoot 没有为 Service 创建代理类的一个原因
    最近一个SpringBoot 项目,最开始需要在一个Service 中使用AopContext.currentProxy(),谁知返回一个空,导致空指针异常再跟踪发现,原来spring 并没有为这个Service 创......
  • mysql update 带条件的语句执行错误
    需求:想着更新id最大的一条数据: 原来的sql:   updatework_plane_log_detailsSET`off_working_time`='2021-03-0911:16:23'WHEREidin(selectidfromwork_pl......
  • mysql 生成指定范围的数值 保留两位(可以是整数,可以是小数)
    大家都知道mysqlrand用起来在某些场景下不是很好用,今天咱们就来实现一个函数。来提升他的功能1.随机生成0.0.1~0.05之间的数据DROPFUNCTIONIFEXISTSrand_num;C......
  • 视频融合平台EasyCVR如何操作MySQL数据库来批量关闭通道?
    EasyCVR具备强大的视频接入、汇聚与管理、视频分发等视频能力,可实现的视频功能包括:视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、服务器集群、智......
  • Mybatis出现java.io.IOException: Could not find resource XXX.xml异常
    //使用MyBatis提供的Resources类加载mybatis的配置文件Readerreader=Resources.getResourceAsReader("MenuConfig.xml");这条语句中不会写文件路径解决办......
  • 02-MyBatis-Plus
    MyBatis-Plus实现数据库crud操作1.mp是什么MyBatis-Plus(opensnewwindow)(简称MP)是一个MyBatis(opensnewwindow)的增强工具,在MyBatis的基础上只做增强不做改变,......
  • Mysql取整函数
    Mysql取整函数1.round四舍五入取整round(s,n):对s四舍五入保留n位小数,n取值可为正、负、零.如四舍五入到整数位,则n取零.2.ceil向上取整ceil(s):返回比s大的最小整数3.floo......
  • SpringBoot 为登录设置拦截器
    在学习一个项目的过程中有这样一个需求就是用户未登录是不可以访问其他主页的所以我们有两种做法:使用拦截器或者过滤器来实现这样的功能,这里就通过过滤器来记录下学习心......
  • MySQL学习
    MySQL学习1.数据库的分类1.1关系型数据库:MySQL、Oracle等通过表与表、行与列的关系进行存储数据。1.2非关系型数据库:Radis等通过存储对象来存储数据,数据由对......