前面就没有整理好mybatis 也是因为跳过这个直接去学的springboot
也导致没有更深层次理解 也是逢坑踩坑
一下我版本为2.2.5.RELEASE

1 导入mybatis和mysql驱动依赖

如果mybatis加载不出来降低版本
参考:https://blog.csdn.net/S852509769/article/details/134456125
<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>

2. 写出死步骤properties(yaml)配置

其中密码和用户名为电脑上mysql对应的密码和用户名
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名字?serverTimezone=GMT&2B8&userUnicode=true&characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

这里坑坑坑:
对于SpringBoot项目来说,classpath指的是src.main.java和src.main.resources路径以及第三方jar包的根路径,存放在这两个路径下的文件,都可以通过classpath作为相对路径来引用

第一个为你实体类的地方 一般都是在包下建的 所有为 包名.entity(或pojo)
mybatis.type-aliases-package=包名.entity
mapper文件的映射 你写的xml文件的位置:
如果你再resource下建的mapper 然后放在里面的xml则为以下
如果是在其他地方必须改变路径位置
mybatis.mapper-locations=classpath:mapper/*.xml

3.然后是实体类的编写(entity pojo 建立的类首字母大写)

使用到lombok简化
还有就是 字段和和你数据表对应


4.编写mapper映射(一般又有service层)

举个例子:
@Mapper 表明此为映射文件
@Repository 注解修饰哪个类表明这个类具有对数据库CRUD的功能
public interface User {
简单的增删改查 User即为entity层
List<User> query();
User queryByid(int id);
int add(User user);
int update(User user);
int delete(int id);
}
implements继承自一个mapper映射文件 实现接口方法
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper; mapper映射文件
@Override
public User query(String name) {
return userMapper.query(name);
}
}

5.注意 xml文件的编写 坑多

头上面为死步骤
<?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">
此处namespace为你mapper映射文件的路径 也就是4在的位置
<mapper namespace="包名.mapper.UserMapper">
id对应的是你mapper中写的方法名字
<select id="query" resultType="User">
select *from user ;
</select>
<select id="queryByid" resultType="User">
select *from user where id=#{id} ;
</select>
<insert id="add" parameterType="User">
insert into user(id,name,pwd) values(#{id},#{name},#{pwd})
</insert>
<update id="update" parameterType="User">
update user set name=#{name},pwd=#{pwd} where id=#{id}
</update>
<delete id="delete" parameterType="int">
delete from user where id=#{id}
</delete>
</mapper>

6.最好测试一下

在test 中的.java中 测试一下你的springboot和mybatis是否成功

@SpringBootTest
class DemoApplicationTests {
//测试
@Autowired
Mapper映射
@Test
void contextLoads() {
System.out.println(mapper.query("高远"));
}
}

这次应该比上次更加清晰明了

posted on   不爱美女爱辣条  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器



点击右上角即可分享
微信分享提示