首页 > 开发 > Java > 正文

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

2024-07-13 10:04:24
字体:
来源:转载
供稿:网友

上一节说了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入门教程之新增、更新、删除功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对VeVb武林网网站的支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表