Copyright © 2022-2025 aizws.net · 网站版本: v1.2.6·内部版本: v1.25.2·
页面加载耗时 0.00 毫秒·物理内存 137.3MB ·虚拟内存 1372.6MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
本章将介绍 MyBatis 的数据插入操作。
UserMapper.xml 映射文件中包含所有 User 相关 SQL 映射语句。我们在 UserMapper.xml 中添加 insert 语句:
<?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">
<mapper namespace = "User">
<insert id = "insert" parameterType = "User">
INSERT INTO User (name) VALUES (#{name});
<selectKey keyProperty = "id" resultType = "long" order = "AFTER">
select last_insert_id() as id
</selectKey>
</insert>
</mapper>
参数类型可以是任何类型,如 int、float、double 或任何类,本例中参数类型 User,即在调用 SqlSession 类的 insert 方法时,将传入 User 类的对象。
如需获取插入记录的 id,可以使用 <selectKey> 标签。
应用程序 main 类位于文件 App.java:
package com.aizws.demo;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class App {
public static void main(String args[]) throws IOException{
Reader reader = Resources.getResourceAsReader("MybatisConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
SqlSession session = sqlSessionFactory.openSession();
// 创建用户对象
User user = new User("newUser100");
// 插入新用户到数据库
session.insert("User.insert", user);
System.out.println("数据插入成功");
session.commit();
session.close();
}
}
运行程序,输出结果:
数据插入成功
查看数据库,可以看到新用户已经插入到数据库中:
| id | name |
|---|---|
| 1 | user1 |
| 2 | user2 |
| 3 | user3 |
| 4 | user4 |
| 5 | user5 |
| 6 | newUser100 |
本章将介绍 MyBatis 的读取数据操作。1. 修改 UserMapper.xml 映射文件:UserMapper.xml 映射文件中将包含所有 User 相关 SQL 映射语句。在映射文件中添加 Select 语句,Select语句会返回结果,需要把结果映射到 Java 对象,所以添加了 resultMap。Select 语句与 resultMap 都用唯一ID标志,以便在Java代码中可以调用。