- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
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的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
1.概述 转载:MyBatis 二级缓存全详解 上一篇文章中我们介绍到了 MyBatis 一级缓存其实就是 SqlSession 级别的缓存,什么是 SqlSession 级别的缓存呢?一级缓存的本质
1.概述 转载:核心配置综述之StatementHandler 2.MyBatis 四大组件之StatementHandler StatementHandler 是四大组件中最重要的一个对象,负责操作
1.概述 转载:MyBatis 启动流程 MyBatis 是第一个支持自定义 SQL、存储过程和高级映射的类持久框架。MyBatis 消除了大部分 JDBC 的样板代码、手动设置参数以及检索结果。My
1.概述 转载:MyBatis 基础搭建及架构概述 2.MyBatis 是什么? MyBatis是第一个支持自定义SQL、存储过程和高级映射的类持久框架。MyBatis消除了大部分JDBC的样板代码、
1.概述 转载:核心配置综述之 ParameterHandler MyBatis 四大核心组件我们已经了解到了两种,一个是 Executor ,它是MyBatis 解析SQL请求首先会经过的第一道关卡
1.概述 转载:核心配置综述之 ResultSetHandler 我们之前介绍过了MyBatis 四大核心配置之 Executor、StatementHandler、 ParameterHandler
如果我使用mybatis,我可以很容易地得到更新的行数,就像 update table set desc = 'xxx' where name = ? 但是,如果我想获取更新的行数,而不是计数,我该如
如何在MyBatis 3中使用小于等于 SELECT * FROM( SELECT * FROM TABLE1 WHERE COL1 =#{COL1,jdbc
我将 mybatis3.0.6 与 java 一起使用 哪个性能更好? [select id="getData" parameterType="Integer" resultType="Integer
我无法在 mybatis 中使用动态排序类型创建 SQL,如下例 select user_profile.user_profile_id, user_profile.first_name
这是一个流行的例子。 insert into ACCOUNT ( ACC_ID, ACC_FIRST_NAME, ACC_LAST_NAME, ACC_EMAIL )values (
我下载了MyBatis,文件夹中有一个mybatis-3.0.4-javadoc.jar,我解压并打开它,但它几乎是空的。 哪里可以找到MyBatis的API文档? 最佳答案 http://repo1
我正在尝试为 ArrayList 编写类型处理程序,但这给了我错误,任何人都可以帮助我。 我想将 ArrayList 作为 VARCHAR 存储在数据库中并将其检索为 ArrayList。 packa
目录 依赖 配置 CodeGenerator mybatis-plus-generator + clickhouse 自动生成代码 依赖
目录 三者实现对比 使用fluent mybatis 来实现上面的功能 换成mybatis原生实现效果 换成mybatis plus
例如,我有查询从员工中选择 ID、姓名、年龄、地址,而不是拥有员工对象列表。我希望有一个 map 列表,如 list{ map{ ("id", 123), ("name","jac
我在使 MyBatis (3.4.6) 工作时遇到一些麻烦。 我已将 mybatis-config.xml 文件放置在项目的 src/main/resources 文件夹中,但是当我运行单元测试时,出
我现在使用 Mybatis 和 spring-boot。我没有添加mybatis-config.xml。我根据说明通过 application.properties 为数据源和 mybatis 进行所
这是我的第一篇文章,用我糟糕的英语...... 我使用的是MyBatis3.0 在查询中,我使用 SqlBuilder 的方法如下: public class DataStatisticSqlBuil
主题:MyBatis:Boolean Paraeter:MyBatis 正在使用 Getter 内容: 大家好, 我一直在寻找解决我近乎简单的 MyBatis 问题的方法: 给定代码(仅必要部分):
我是一名优秀的程序员,十分优秀!