MYBATIS教程 – 插入数据

本章将详细介绍MyBatis的数据插入操作。

准备数据

我们已经在前面章节中创建了数据库,如没有数据,可参考前面章节MYBATIS教程 – 环境搭建创建。

UserMapper.xml映射文件

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>标签。

App.java

应用程序main类文件。

App.java

package com.qikegu.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-demo1



浙ICP备17015664号-1 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载