Mybatis入门教程之新增、更新、删除功能
上一节说了Mybatis的框架搭建和简单查询,这次我们来说一说用Mybatis进行基本的增删改操作;
一、插入一条数据
1、首先编写USER.XML(表的xml)使用insert元素,元素写在mapper中:
<insertid="insertitem"parameterType="cn.qkp.po.user">
INSERTINTOuser(username,birthday,sex,address)VALUES(#{username},#{birthday},#{sex},#{address})
</insert>
注意:这里的parameterType使用了实体对象的类型。因为#{}和${}可以接收pojo数据,可以使用OGNL解析出pojo的属性值;如:#{username}为获取pojo中username的属性值,切记使用实体对象类型,在大括号中要保持数据一致;
2、在运行java文件中的代码(MybatisFrist.java中):
@Test
publicvoidstart3(){
SqlSessionsession=sqlsessionfactory.openSession();//打开SqlSession
Useruser=newUser();//创建实体对象
user.setUsername("mylydg");
user.setSex("1");
user.setBirthday(newDate());
session.insert("test.insertUser",user);//执行插入
session.commit();//提交事务
session.close();//关闭连接
}
以上便是基本的数据插入操作,使用对象来操作Mybatis进行插入;
PS:拓展(如何获得插入数据的主键返回)?
看如下代码操作:
1.1、在insert元素中使用selectKey元素
<insertid="insertitem"parameterType="cn.qkp.pojo.user"> <!--1、语句selectLAST_INSERT_ID()为查找最后插入元素的id 2、order属性表示相对insert语句在什么时候执行,有两个参数"AFTER"之后和"BEFORE"之前 3、resultType属性表示返回值的类型 4、keyProperty表示返回到的属性,切记要与insert中的parameterType类型的值相同,它会把值返回给parameterType对象 --> <selectKeyorder="AFTER"resultType="int"keyProperty="id"> selectLAST_INSERT_ID() </selectKey>
1.2、在运行java文件中的代码(MybatisFrist.java中)直接通过之前传入的对象的user.Id获得即可
@Test
publicvoidstart3(){
SqlSessionsession=sqlsessionfactory.openSession();//打开SqlSession
Useruser=newUser();//创建实体对象
user.setUsername("mylydg");
user.setSex("1");
user.setBirthday(newDate());
session.insert("test.insertUser",user);//执行插入
session.commit();//提交事务
session.close();//关闭连接
System.out.println("theid="+user.getId());//获得主键并打印
}
二、更新数据操作
1、在表xml(user.xml,写在mapper中):
<updateid="update"parameterType="cn.qkp.mybatis.po.User">
updateusersetusername=#{username},sex=#{sex},birthday=#{birthday},address=#{address}whereid=#{id}
</update>
2、在运行java文件中的代码(MybatisFrist.java中):
@Test
publicvoidupdate(){
//通过工厂类打开数据接口
SqlSessionsqlsession=sqlsessionfactory.openSession();
//设置接收对象
Useruser=newUser();;
user.setUsername("mylydg");
user.setSex("1");
user.setBirthday(newDate());
user.setAddress("theaddress");
user.setId(27);
try{
//查询数据selectOne为查询一条的方法第一个参数是user.xml中的namespace.id;第二个参数是user配置文件中的#{id}
sqlsession.update("test.update",user);
sqlsession.commit();
}catch(Exceptione){
//TODO:handleexception
}finally{
sqlsession.close();//读完要关闭sqlsession
}
System.out.println("theid="+user.getId());//打印输出
}
运行方法后,则可以更新指定id的一条数据
三、删除一条数据的操作
1、在表xml文件(user.xml,写在mapper中):
<deleteid="delete"parameterType="int">
deletefromuserwhereid=#{id}
</delete>
2、在运行java文件中的代码(MybatisFrist.java中):
@Test
publicvoiddelete(){
//通过工厂类打开数据接口
SqlSessionsqlsession=sqlsessionfactory.openSession();
try{
//查询数据selectOne为查询一条的方法第一个参数是user.xml中的namespace.id;第二个参数是user配置文件中的#{id}
sqlsession.delete("test.delete",27);
sqlsession.commit();
}catch(Exceptione){
//TODO:handleexception
}finally{
sqlsession.close();//读完要关闭sqlsession
}
运行方法后便可以删除指定id的一条数据。
以上所述是小编给大家介绍的Mybatis入门教程之新增、更新、删除功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!