SpringBoot - 整合MyBatis
SpringBoot整合MyBatis
1、环境搭建
1、新建项目
2、导入依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
3、编写配置文件
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8
driver-class-name: com.mysql.cj.jdbc.Driver
4、测试类运行测试
@SpringBootTest
class Springboot05MybatisApplicationTests {
@Autowired
DataSource dataSource;
@Test
void contextLoads() throws SQLException {
System.out.println("getClass ===>" + dataSource.getClass());
System.out.println("getConnection ===>" + dataSource.getConnection());
}
}
2、创建实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private int id;
private String name;
private String pwd;
}
(如要使用如上三个注解,需要导入Lombok依赖)
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.26</version>
</dependency>
3、创建Mapper接口
@Mapper // 这个注解表示了这是一个mybatis的mapper类
@Repository
public interface UserMapper {
// 查询全部用户
List<User> queryUserList();
// 根据Id查询用户
User queryUserById();
// 增加用户
int addUser(User user);
// 删除用户
int deleteUser(int id);
// 修改用户
int updateUser(User user);
}
如不写@Mapper,可在主程序入口添加扫描包注解@MapperScan("com.kuang.mapper"),该包下所有接口都会被扫描
4、编写UserMapper.xml文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kuang.mapper.UserMapper">
<select id="queryUserList" resultType="user">
select * from mybatis.user
</select>
<select id="queryUserById" resultType="user">
select * from mybatis.user where id = #{id}
</select>
<insert id="addUser" parameterType="user">
insert into mybatis.user (id, name, pwd) VALUES (#{id},#{name},#{pwd})
</insert>
<update id="updateUser" parameterType="user">
update mybatis.user
set name = #{name},
pwd = #{pwd}
where id = #{id};
</update>
<delete id="deleteUser" parameterType="int">
delete from mybatis.user where id = #{id}
</delete>
</mapper>
别名要在application.yaml文件中配置
mybatis:
type-aliases-package: com.kuang.pojo
# 文件路径
mapper-locations: classpath:com/kuang/mapper/*.xml
全注解开发
1、编写UserMapper类
@Mapper
@Repository
public interface UserMapper {
// 查询全部
@Select("select * from mybatis.user")
List<User> queryAll();
// 根据id查询
@Select("select * from mybatis.user where id = #{id}")
User getById(@Param("id") int id);
// 添加
@Insert("insert into mybatis.user(`id`,`name`,`pwd`) values(#{id},#{name},#{pwd})")
int addUser(User user);
// 修改
@Update("update mybatis.user set `name` = #{name},`pwd` = #{pwd} where `id` = #{id}")
int updateUser(User user);
// 删除
@Delete("delete from mybatis.user where `id` = #{id}")
int deleteUser(@Param("id")int id);
}
省略了UserMapper.xml配置文件的编写
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!