目录
一、引言
二、Mybatis——查询
示例:查询用户
三、Mybatis——添加
示例:添加用户
四、Mybatis——删除
示例:删除用户
五、Mybatis——修改
示例:修改用户
接着上次的mybatis,我们在了解完mybatis之后,肯定要知道怎么使用,本文就来详细讲解Mybatis的增删改查事务,还不了解怎么配置mybatis的朋友可以去这篇文章了解一下什么是MyBatis
什么是MyBatis-CSDN博客
xml文件配置:
测试代码:
@Test
public void Test03(){
SqlSession sqlSession = ssf.openSession();
List students = sqlSession.selectList("test.findUserByName","zhangsan");
for (Student student :students){
System.out.println(student.getId()+","+student.getStudentName()+","+student.getGender()+","+student.getAddress()+","+student.getEmail());
}
}
parameterType和resultType解释
parameterType:指定输入参数类型,mybatis通过ognl从输入对象中获取参数值拼接在sql中。
resultType:指定输出结果类型,mybatis将sql查询结果的一行记录数据映射为resultType指定类型的对象。
parameterType:定义输入到sql中的映射类型,${value}表示使用参数将${value}替换,做字符串的拼接。
注意:如果是取简单数量类型的参数,括号中的值必须为value
resultType:定义结果映射类型。
xml文件配置:
select last_insert_id()
INSERT into student(studentName,gender,address,email,remark) VALUES (#{studentName},#{gender},#{address},#{email},#{remark})
测试代码
@Test
public void Test05(){
SqlSession sqlSession = ssf.openSession();
//添加用户信息
Student student = new Student("往二","男","成都","[email protected]","rtyu");
int insert = sqlSession.insert("test.addStudent", student);
// 提交事务
sqlSession.commit();
System.out.println(insert);
}
xml文件配置
DELETE FROM student where id = #{id}
测试代码:
@Test
public void testDelete() {
// 数据库会话实例
SqlSession session = ssf.openSession();
//删除用户
Student student = session.selectOne("test.deleteStudentById",17);
// 提交事务
session.commit();
session.close();
}
xml文件配置
UPDATE student set studentName=#{studentName},gender=#{gender},address=#{address},email=#{email},remark=#{remark} where id = #{id}
测试代码
@Test
public void testUpdate() {
// 数据库会话实例
SqlSession sqlSession = null;
// 创建数据库会话实例sqlSession
sqlSession = ssf.openSession();
// 修改用户信息
Student student = new Student();
student.setId(14);
student.setStudentName("衣");
student.setGender("女");
student.setAddress("廊坊");
student.setEmail("[email protected]");
student.setEmail("euwfh");
sqlSession.update("test.updateStudent", student);
// 提交事务
sqlSession.commit();
sqlSession.close();
}
注意:配置文件中的id的属性值,不一定要和方法名一样,但是一定要和sqlsession的参数名一样