当前位置: 移动技术网 > IT编程>开发语言>Java > Mybatis入门教程之新增、更新、删除功能

Mybatis入门教程之新增、更新、删除功能

2019年07月22日  | 移动技术网IT编程  | 我要评论
说了mybatis的框架搭建和简单查询,这次我们来说一说用mybatis进行基本的增删改操作;  一、 插入一条数据 1、首先编写user.xml(表的xml)使用in

说了mybatis的框架搭建和简单查询,这次我们来说一说用mybatis进行基本的增删改操作;

 一、 插入一条数据

1、首先编写user.xml(表的xml)使用insert元素,元素写在mapper中:

<insert id="insertitem" parametertype="cn.qkp.po.user">
insert into user(username,birthday,sex,address) values(#{username},#{ birthday},#{sex},#{address})
</insert>

注意:这里的parametertype使用了实体对象的类型。因为#{}和${}可以接收pojo数据,可以使用ognl解析出pojo的属性值;如:#{username}为获取pojo中username的属性值,切记使用实体对象类型,在大括号中要保持数据一致;

2、在运行java文件中的代码(mybatisfrist.java中):

 @test
 public void start3(){
  sqlsession session = sqlsessionfactory.opensession();//打开sqlsession
  user user = new user();//创建实体对象
  user.setusername("mylydg");
  user.setsex("1");
  user.setbirthday(new date());
  session.insert("test.insertuser", user);//执行插入
  session.commit();//提交事务
  session.close();//关闭连接
 }

以上便是基本的数据插入操作,使用对象来操作mybatis进行插入;

ps:拓展(如何获得插入数据的主键返回)?

看如下代码操作:

1.1、在insert元素中使用selectkey元素

<insert id="insertitem" parametertype="cn.qkp.pojo.user">
<!-- 1、语句select last_insert_id()为查找最后插入元素的id
  2、order属性表示相对insert语句在什么时候执行,有两个参数"after"之后和"before"之前
  3、resulttype属性表示返回值的类型
  4、keyproperty表示返回到的属性,切记要与insert中的parametertype类型的值相同,它会把值返回给parametertype对象
 -->
<selectkey order="after" resulttype="int" keyproperty="id"> 
select last_insert_id()
</selectkey>

1.2、在运行java文件中的代码(mybatisfrist.java中)直接通过之前传入的对象的user.id获得即可

@test
 public void start3(){
  sqlsession session = sqlsessionfactory.opensession();//打开sqlsession
  user user = new user();//创建实体对象
  user.setusername("mylydg");
  user.setsex("1");
  user.setbirthday(new date());
  session.insert("test.insertuser", user);//执行插入
  session.commit();//提交事务
  session.close();//关闭连接
  system.out.println("the id ="+user.getid());//获得主键并打印
 }

二、更新数据操作

1、在表xml(user.xml,写在mapper中):

 <update id="update" parametertype="cn.qkp.mybatis.po.user">
 update user set username = #{username},sex = #{sex},birthday = #{birthday},address = #{address} where id=#{id}
 </update>

2、在运行java文件中的代码(mybatisfrist.java中):

 @test
 public void update(){
  //通过工厂类打开数据接口
  sqlsession sqlsession = sqlsessionfactory.opensession();
  //设置接收对象
  user user = new user();;
  user.setusername("mylydg");
  user.setsex("1");
  user.setbirthday(new date());
  user.setaddress("the address");
  user.setid(27);
  try {
   //查询数据selectone为查询一条的方法第一个参数是user.xml中的namespace.id;第二个参数是user配置文件中的#{id}
   sqlsession.update("test.update", user);
   sqlsession.commit();
  } catch (exception e) {
   // todo: handle exception
  }finally{
   sqlsession.close();//读完要关闭sqlsession
  }
   system.out.println("the id ="+user.getid());//打印输出
 }

运行方法后,则可以更新指定id的一条数据

三、删除一条数据的操作

1、在表xml文件(user.xml,写在mapper中):

 <delete id="delete" parametertype="int">
 delete from user where id = #{id}
 </delete>

2、在运行java文件中的代码(mybatisfrist.java中):

 @test
 public void delete(){
  //通过工厂类打开数据接口
  sqlsession sqlsession = sqlsessionfactory.opensession();
  try {
   //查询数据selectone为查询一条的方法第一个参数是user.xml中的namespace.id;第二个参数是user配置文件中的#{id}
   sqlsession.delete("test.delete", 27);
   sqlsession.commit();
  } catch (exception e) {
   // todo: handle exception
  }finally{
   sqlsession.close();//读完要关闭sqlsession
  }

运行方法后便可以删除指定id的一条数据。

以上所述是小编给大家介绍的mybatis入门教程之新增、更新、删除功能,希望对大家有所帮助

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网