SpringBoot图文并茂详解如何引入mybatis与连接Mysql数据库
作者:游坦之 发布时间:2024-01-25 15:07:32
创建一个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
#datasource
spring:
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<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;
@SpringBootTest
class BootMybatis03ApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
public 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 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>
编写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<User> 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<User> list = userXmlMapper.findAll();
System.out.println(list);
}
}
效果
感叹
记得当初学MySQL的时候,编写sql语句非常的熟练,现在非常僵硬,认真写博客真的不失为一种复习的好方法。还有当初学SSM的时候,没好好学,没有扎扎实实的学,现在也挺后悔的。快速和详细真的不能兼得。别人的建议可以听听,但一定要坚守自己的内心。倚天照海花无数,流水高山心自知。
来源:https://blog.csdn.net/m0_59792745/article/details/125804386


猜你喜欢
- 前言项目中大量用到图片加载,由于图片太大,加载速度很慢,因此需要对文件进行统一压缩一:导入包from PIL import Imageimp
- 1.panic是什么panic() 是一个内建的函数2.panic有什么用作用:可以使用panic停止程序继续运行,所以大多数都是在demo
- 本文实例为大家分享了Pyqt实现无边框窗口拖动及大小改变的具体代码,供大家参考,具体内容如下做个记录,绘制边框阴影可以忽略这里不是主要根据网
- TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,
- 在实际开发中经常会遇到计算某个字段的排名的情况如下表:totak_sales现在又如此要求:按sales的逆序排序,要求添加一个sales_
- python通过安装使用paramiko模块,将本地文件上传到服务器上import paramikoimport datetimeimpor
- 注册了oracle的登录名:10402852@qq.com密码:dsideal******** 后面的*号是王卓常用的密码,但是
- 关于SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 注意: 1.UNION 内部的 SELE
- TF-IDF(term frequency–inverse document frequency)是一种用于信息检索(information
- 本文实例讲述了Python字典生成式、集合生成式、生成器用法。分享给大家供大家参考,具体如下:字典生成式:跟列表生成式一样,字典生成式用来快
- 本文是 《用 Golang 实现一个 Redis》系列文章第二篇,本文将分别介绍Redis 通信协议 以及 协议解析器 的实现,若您对协议有
- 背景: 在我们使用Golang进行开发过程中,总是绕不开对字符或字符串的处理,而在Golang语言中,对字符和字符串的处理方式可能和其他语言
- 前言传统 Web 开发方式常常需要编写繁琐乏味的重复性代码,不仅页面表现与逻辑实现的代码混杂在一起,而且代码编写效率不高。对于开
- json和dictpython中的dict类型要转换为json格式的数据需要用到json库:import json <json>
- 本文实例讲述了MySQL学习笔记之数据的增、删、改实现方法。分享给大家供大家参考,具体如下:一、增加数据插入代码格式:insert into
- 在分析sIFR之前,先来快速的了解一下sIFR是什么,以及它是如何工作的。sIFR表示scalable Inman Flash Replac
- 一、变量声明的方式let / constlet / const 共同点1.都是块级作用域2.在同一个作用域下,变量名不允许重复3.他们声明的
- 我们经常在处理字符串时遇到有很多空格的问题,一个一个的去手动删除不是我们程序员应该做的事情,今天这篇技巧的文章脚本之家就来给大家讲一下,如何
- 以下所描述无理论依据,纯属经验谈。MySQL使用4.1以上版本,管他是什么字符集,一律使用默认。不用去设置MySQL。然后举个使用GB231
- 问:如何给导入文件加上时间戳标记?答:请参考下文中介绍的两种方法:1.在DOS下从系统获得时间戳利用Dos命令取得时间戳:C:\>ec