先来简化一下这个任务,明确一下要求:
- 讲解MyBatis的使用方式
- 给出至少两个使用示例
以下是一个标准的Markdown文本,包含了需要的标题、代码块和示例。
MyBatis的使用方式
MyBatis 是一种 ORM 框架,它可以将 Java 类映射到数据库表,并提供了一组 API 用于执行 SQL 语句。
环境准备
首先,需要在项目中添加以下依赖:
<dependencies>
<!-- MyBatis 核心包 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.3</version>
</dependency>
<!-- MySQL 驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
</dependencies>
如何使用 MyBatis
下面是使用 MyBatis 的步骤:
- 定义数据表,并创建对应的 Java 实体类。
```sql
-- 数据库脚本
CREATE TABLE user (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(32) NOT NULL,
age INT NOT NULL
);
-- User 实体类
public class User {
private Long id;
private String name;
private Integer age;
// getters/setters
}
```
- 编写 Mapper 接口,并定义对应的 SQL 语句。
```java
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
int save(User user);
}
```
- 配置 MyBatis 的数据源和 Mapper 接口。
```xml
<mappers>
<mapper class="com.example.UserMapper"/>
</mappers>
```
- 在代码中使用 MyBatis。
```java
public static void main(String[] args) throws Exception {
// 创建 SqlSessionFactory
InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 获取 Mapper 接口
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper userMapper = session.getMapper(UserMapper.class);
// 使用 Mapper 接口执行操作
User user = userMapper.findById(1L);
System.out.println(user);
User newUser = new User();
newUser.setName("张三");
newUser.setAge(20);
int result = userMapper.save(newUser);
System.out.println(result);
System.out.println(newUser.getId());
}
}
```
以上就是使用 MyBatis 的基本步骤。
使用示例
下面给出两个使用 MyBatis 的示例。
示例1:查询
这个示例演示了 MyBatis 如何查询数据库中的数据。首先,定义一个 UserMapper,然后确保数据表 user 存在,并插入一些数据:
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User findById(Long id);
}
public static void main(String[] args) throws Exception {
// ...省略配置过程...
// 获取 Mapper 接口
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper userMapper = session.getMapper(UserMapper.class);
// 使用 Mapper 接口执行操作
User user = userMapper.findById(1L);
System.out.println(user);
}
}
示例2:插入
这个示例演示了 MyBatis 如何向数据库中插入数据。首先,定义一个 UserMapper,并编写插入数据的 SQL 语句:
public interface UserMapper {
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
int save(User user);
}
public static void main(String[] args) throws Exception {
// ...省略配置过程...
// 获取 Mapper 接口
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper userMapper = session.getMapper(UserMapper.class);
// 使用 Mapper 接口执行操作
User newUser = new User();
newUser.setName("张三");
newUser.setAge(20);
int result = userMapper.save(newUser);
System.out.println(result);
System.out.println(newUser.getId());
}
}
以上就是 MyBatis 的基本用法和两个示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis如何使用(一) - Python技术站