书接上回,我们在了解完mybatis之后,肯定要知道怎么使用,本文就来详细讲解Mybatis的增删改查事务,还不了解怎么配置mybatis的童鞋可以去这篇文章了解一下通俗易懂讲解javaweb之mybatis-CSDN博客
图解:xml配置文件中写入
注意:要写在xml文件中的mapper标签内
insert的标签参数:
id为这个映射语句的唯一标识符
parameterType为参数类型
xml中的代码:?
<insert id="addUser" parameterType="user.User">
INSERT INTO USER(username,password,email,tellphone,remark) VALUE(#{username},#{password},#{email},#{tellphone},#{remark})
</insert>
测试类的代码:?
@Test
public void addUser(){
// 创建数据库会话实例sqlSession
SqlSession sqlsession =ssf.openSession();
User user = new User("胡英俊","123456","234567dsfgrt","12345657","grthrgfaw");
int result = sqlsession.insert("test.addUser",user );
sqlsession.commit();
System.out.println("影响了:"+result);
sqlsession.close();
}
?步骤解析:
先创建一个sqlsession对象,再创建一个user对象,int result用来传递影响的行数,通过sqlsession的insert方法,插入user对象,再通过commit方法提交,如果没有commit方法是不会保存插入的哦,虽然result有结果,但是没有保存这次的插入
?
xml中的代码:
<delete id="deleteUserById" parameterType="int">
delete from user where id=#{id}
</delete>
?delete标签中的也是
id为这个映射语句的唯一标识符
parameterType为参数类型
测试类的代码:
@Test
public void testDelete() {
// 创建数据库会话实例sqlSession
SqlSession sqlsession =ssf.openSession();
// 删除用户
sqlSession.delete("test.deleteUserById",18);
// 提交事务
sqlSession.commit();
sqlSession.close();
}
xml中的代码:
<update id="updateUser" parameterType="com.example.User">
UPDATE user
SET
username = #{username},
password = #{password},
email = #{email},
tellphone = #{tellphone},
remark = #{remark}
WHERE id = #{id}
</update>
测试类的代码 :
@Test
public void updateUser(){
// 创建数据库会话实例sqlSession
SqlSession sqlsession =ssf.openSession();
User user = new User(5,"胡英俊","123456","234567dsfgrt","12345657","grthrgfaw");
int result = sqlsession.update("test.updateUser",user );
sqlsession.commit();
System.out.println("影响了:"+result);
sqlsession.close();
}
还是需要commit方法才能成功修改并保存?
xml中的代码:
<select id="findUserById" parameterType="int" resultType="user.User">
select * from user where id=#{id}
</select>
resultType是查询结果的结果类型?
测试类的代码:?
@Test
public void testFindUserById(){
SqlSession sqlsession =ssf.openSession();
//System.out.println(session);
User user = sqlsession.selectOne("test.findUserById", 4);
System.out.println(user);
System.out.println("用户名字:"+user.getName()+",用户密码:"+user.getPassword());
sqlsession.close();
}
有几点需要注意的地方:
1.配置文件中的id的属性值,不一定要和方法名一样,但是一定要和sqlsession的参数名一样
2.除了查询语句,增删改都需要进行commit方法提交,不然不会保存在数据库
3.每一个数据表的xml文件都是单独的,不能在这个数据表的xml文件中进行另一个表的操作,并且创建表的xml文件还要在SqlMapConfig.xml文件下添加才行。
好了,以上就是《Mybatis之增删改查》的全部内容了,如果有帮助到你的话,麻烦点赞收藏转发你的支持就是我更新的最大动力,欢迎评论区讨论或者私信留言,我是sharefive,期待你的关注,886~