写一个sprringboot项目,使用mybtais通过XML配置文件来操作MySQL数据库,给出详细代码和注释
时间: 2023-04-03 09:04:47 浏览: 120
好的,我可以回答这个问题。以下是一个简单的 Spring Boot 项目,使用 MyBatis 操作 MySQL 数据库的示例代码:
首先,需要在 pom.xml 文件中添加以下依赖:
```xml
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- MyBatis Starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
</dependencies>
```
接下来,创建一个名为 `User` 的实体类,用于映射数据库中的用户表:
```java
public class User {
private Long id;
private String name;
private Integer age;
// 省略 getter 和 setter 方法
}
```
然后,创建一个名为 `UserMapper` 的接口,用于定义 MyBatis 操作数据库的方法:
```java
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
@Options(useGeneratedKeys = true, keyProperty = "id")
void save(User user);
@Update("UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}")
void update(User user);
@Delete("DELETE FROM user WHERE id = #{id}")
void delete(Long id);
}
```
在 `resources` 目录下,创建一个名为 `application.properties` 的配置文件,用于配置数据库连接信息:
```
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.mapper-locations=classpath:mapper/*.xml
```
最后,在 `resources` 目录下,创建一个名为 `mapper` 的子目录,用于存放 MyBatis 的 XML 配置文件。在该目录下,创建一个名为 `UserMapper.xml` 的文件,用于定义 SQL 语句:
```xml
<mapper namespace="com.example.demo.mapper.UserMapper">
<resultMap id="userMap" type="com.example.demo.entity.User">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
</resultMap>
<select id="findById" resultMap="userMap">
SELECT * FROM user WHERE id = #{id}
</select>
<insert id="save" parameterType="com.example.demo.entity.User">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
<update id="update" parameterType="com.example.demo.entity.User">
UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
</update>
<delete id="delete" parameterType="java.lang.Long">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
```
以上就是一个简单的 Spring Boot 项目,使用 MyBatis 通过 XML 配置文件来操作 MySQL 数据库的详细代码和注释。
阅读全文