目录
MyBatis的映射文件概述
Mybatis增删改查操作
Mybatis的增加/插入操作
mybatisTest下
@Test
public void test2() throws IOException {
//模拟user对象
User user=new User();
user.setUsername("ZengHui");
user.setPassword("1234");
//获得核心配置文件
InputStream resourceAsFile = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsFile);
//获得session会话对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行操作 参数:namespace+id
int result= sqlSession.insert("userMapper.insertUser",user);
//mybatis默认不自动提交事务,提交后才能持久化到数据库中
sqlSession.commit();
System.out.println(result);
//释放资源
sqlSession.close();
}
UserMapper.xml下
<!--插入操作-->
<insert id="insertUser" parameterType="com_mybatis.pojo.User">
insert into user values (#{id},#{username},#{password})
</insert>
运行结果
插入操作注意的问题
- 插入语句使用insert标签
- 在映射文件中时而用parameterType属性指定要插入的数据类型
- Sq语句中使用#{实体属性名}方式引用实体中的属性值
- 插入操作使用的ApI是sqlSession.insert(“命名空间.id,实体对象”);
- 插入操作设计数据库变化,所以要使用sqlSession对象显示的提交事务,即sqlSession,commit()
MyBatis的修改数据操作
在UserMapper.xml文件下
<!-- 修改操作-->
<update id="update" parameterType="com_mybatis.pojo.User">
update user set username=#{username},password=#{password} where id=#{id}
</update>
MybatisTest类下
@Test
//修改操作
public void test3() throws IOException {
//模拟user对象
User user=new User();
user.setId(3);
user.setUsername("ZhaoLiu");
user.setPassword("12345");
//获得核心配置文件
InputStream resourceAsFile = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsFile);
//获得session会话对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行操作 参数:namespace+id
sqlSession.update("userMapper.update", user);
//mybatis默认不自动提交事务,提交后才能持久化到数据库中
sqlSession.commit();
//释放资源
sqlSession.close();
}
运行之后,数据库中变化
Mybatis 删除数据操作
userMapper.xml
<!--删除操作-->
<delete id="delete" parameterType="java.lang.Integer">
delete from user where id=#{id}
</delete>
mybatisTest类下
@Test
//删除
public void test4() throws IOException {
//获得核心配置文件
InputStream resourceAsFile = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得session工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsFile);
//获得session会话对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行操作 参数:namespace+id
sqlSession.delete("userMapper.delete", 3);
//mybatis默认不自动提交事务,提交后才能持久化到数据库中
sqlSession.commit();
//释放资源
sqlSession.close();
}
运行结果
删除操作注意的问题
删除语句使用delete标签
Sql语句中使你#{任意字符串}方式引用传递的
单个参数
删除操作使用的API是sqlSession.delete(“命名空间.id”,Object)
版权声明:本文为weixin_60719453原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。