1.MyBatis插入操作
//UserMapper.xml
<?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="userMapper">
<!-- 插入操作-->
<insert id="save" parameterType="com.itheima.domain.User">
insert into user values(#{id},#{username},#{password});
</insert>
</mapper>
//插入测试.java
package com.itheima.test;
import com.itheima.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatisTest_02 {
@Test
public void test2() throws IOException {
//模拟user对象
User user = new User();
user.setUsername("tom");
user.setPassword("111111");
//获得核心配置文件
InputStream reasourceAsAtream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获取session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reasourceAsAtream);
//获取session回话对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行操作 参数:namespace+id
sqlSession.insert("userMapper.save",user);
//mybatis执行更新操作 需要提交事务 ,insert操作默认不提交
sqlSession.commit();
//释放资源
sqlSession.close();
}
}
插入操作注意问题:
1).插入语句使用insert标签
2).在映射文件中使用parameterType属性指定要插入的数据类型
3).Sql语句中使用#{实体属性名}方式引用实体中的属性值
4).插入操作使用的API是sqlSession.insert(“命名空间.id”,实体对象);
5).插入操作涉及数据库数据变化,所以要使用sqlSession对象显示的提交事务,即sqlSession.commit()
2.修改操作
//UserMapper.xml
<?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="userMapper">
<!-- 修改操作-->