gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Mybatis入门教程之新增、更新、删除功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

 1、 插入一条数据 。

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

?
1
2
3
<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中):

?
1
2
3
4
5
6
7
8
9
10
11
@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元素 。

?
1
2
3
4
5
6
7
8
9
<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获得即可 。

?
1
2
3
4
5
6
7
8
9
10
11
12
@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()); //获得主键并打印
  }

2、更新数据操作 。

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

?
1
2
3
<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中):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@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的一条数据 。

3、删除一条数据的操作 。

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

?
1
2
3
<delete id= "delete" parameterType= "int" >
delete from user where id = #{id}
</delete>

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@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入门教程之新增、更新、删除功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我网站的支持! 。

原文链接:http://www.cnblogs.com/mylydg/archive/2017/02/21/6423863.html 。

最后此篇关于Mybatis入门教程之新增、更新、删除功能的文章就讲到这里了,如果你想了解更多关于Mybatis入门教程之新增、更新、删除功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com