集成mybatis
步骤
在pom.xml中添加依赖
<!-- 集成mybatis -->
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version>
</dependency><!-- 集成mysql连接 -->
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId> <version>8.0.22</version>
</dependency>
在application.properties添加数据源
# 数据库配置
spring.datasource.url=jdbc:mysql://自己的数据库ip/数据库名?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=数据库名
spring.datasource.password=自己的密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
配置文件
创建实体类
public class User {private Long id;private String name;private String email;private Integer age;// 构造方法、getter、setter 省略// 建议使用 Lombok 注解 @Data
}
也可以Alt+Insert生成getter/setter
创建Mapper接口
新建mapper和接口
public interface UserMapper {User selectUserById(Long id);List<User> selectAllUsers();int insertUser(User user);int updateUser(User user);int deleteUser(Long id);
}
创建接口对应的Mapper XML文件(写sql和映射)
resources/mapper目录
,命名与接口一致
namespace对应接口全限定名
id对应方法名
resultType对应返回类型
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper"><!-- 结果映射 --><resultMap id="UserResultMap" type="com.example.entity.User"><id property="id" column="id"/><result property="name" column="name"/><result property="email" column="email"/><result property="age" column="age"/></resultMap><!-- SQL 语句 --><select id="selectUserById" parameterType="Long" resultMap="UserResultMap">SELECT * FROM users WHERE id = #{id}</select><select id="selectAllUsers" resultMap="UserResultMap">SELECT * FROM users</select><insert id="insertUser" parameterType="com.example.entity.User" useGeneratedKeys="true" keyProperty="id">INSERT INTO users (name, email, age) VALUES (#{name}, #{email}, #{age})</insert><update id="updateUser" parameterType="com.example.entity.User">UPDATE users SET name = #{name}, email = #{email}, age = #{age}WHERE id = #{id}</update><delete id="deleteUser" parameterType="Long">DELETE FROM users WHERE id = #{id}</delete>
</mapper>
如何让项目知道那一个是mapper呢
注解
如何知道Mapper XML的路径呢
在application.properties中添加mybatis.mapper-locations=classpath:/mapper/**/*.xml