(Mybatis)增删改查实现
文章目录
- namespace
- 增删改查
- 1. Select
- 2. Insert
- 3. Update
- 4. Delete
- 万能Map
- 模糊查询
namespace
namespace一定要与mapper接口相对应
增删改查
1. Select
1.编写接口
//根据Id返回数据User getUserById(int id);
2.编写对应mapper中的sql语句
<select id="getUserById" parameterType="int" resultType="com.zh.pojo.User">select * from mybatis.user where id = #{id}</select>
3.测试
@Testpublic void getUserById(){//获取sqlSession对象SqlSession sqlSession = MybatisUtils.getSqlSession();//获取mapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);User user = mapper.getUserById(1);System.out.println(user);//关闭资源sqlSession.close();}
2. Insert
1.编写接口
//添加数据int insertUser(User user);
2.编写对应mapper中的sql语句
<insert id="insertUser" parameterType="com.zh.pojo.User">insert into mybatis.user (id ,name ,pwd) values (#{id},#{name},#{pwd});</insert>
3.测试
@Testpublic void insertUser(){//获取SqkSesion对象SqlSession sqlSession = MybatisUtils.getSqlSession();//获取mapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.insertUser(new User(4,"伊泽瑞尔","123456"));//增删改操作一定要commit提交事务sqlSession.commit();//关闭资源sqlSession.close();}
3. Update
1.编写接口
//更新数据int updateUser(User user);
2.编写对应mapper中的sql语句
<update id="updateUser" parameterType="com.zh.pojo.User">update mybatis.user set name = #{name},pwd = #{pwd} where id = #{id};</update>
3.测试
@Testpublic void updateUser(){//获取sqlsession对象SqlSession sqlSession = MybatisUtils.getSqlSession();//获取mapperUserMapper mapper = sqlSession.getMapper(UserMapper.class);mapper.updateUser(new User(4,"卡莎","123456"));//提交事务sqlSession.commit();//关闭资源sqlSession.close();}
4. Delete
1.编写接口
//根据id删除数据int deleteUser(int id);
2.编写对应mapper中的sql语句
<delete id="deleteUser" parameterType="int">delete from mybatis.user where id=#{id};</delete>
3.测试
@Testpublic void deleteUser(){//获取sqlsession对象SqlSession sqlSession = MybatisUtils.getSqlSession();//获取mapper对象UserMapper mapper = sqlSession.getMapper(UserMapper.class);//删除id为4的数据mapper.deleteUser(4);//提交数据sqlSession.commit();//关闭资源sqlSession.close();}
万能Map
假设,我们的实体类,或者数据库中的表,字段或者参数过多,我们应当考虑使用Map!
1.编写接口
//用map添加数据int insertUser2(Map<String,Object> map);
2.编写对应mapper中的sql语句 ,参数类型map,不用每次输入实体类,而且参数名字可以任意取。
<insert id="insertUser2" parameterType="map" >insert into mybatis.user (id,pwd) values (#{userid},#{userpwd});</insert>
3.测试
@Testpublic void insertUser2(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);//创建map集合Map<String,Object> map =new HashMap<String, Object>();//添加map键值对map.put("userid",4);map.put("userpwd","123456");mapper.insertUser2(map);sqlSession.commit();sqlSession.close();}
Map传递参数,直接在sql中取出key即可! 【parameterType=“map”】
对象传递参数,直接在sql中取对象的属性即可!【parameterType=“Object”】
只有一个基本类型参数的情况下,可以直接在sql中取到!
多个参数用Map,或者注解!
模糊查询
1.编写接口
//模糊查询List<User> getUserLike( String value);
2.编写对应mapper中的sql语句 ,不用写参数,两种方式。
1)在java代码执行时传递通配符
List<User> userList = mapper.getUserLike("%李%");
<select id="getUserLike" resultType="com.zh.pojo.User">select * from mybatis.user where name like #{value};</select>
2)在sql拼接中使用通配符
select * from mybatis.user where name like "%"#{value}"%"
最好用java代码执行时传递通配符,用sql拼接方式容易产生sql注入问题
3.测试
@Testpublic void getUserLike(){SqlSession sqlSession = MybatisUtils.getSqlSession();UserMapper mapper = sqlSession.getMapper(UserMapper.class);List<User> userLike = mapper.getUserLike("%李%");for (User user : userLike) {System.out.println(user);}sqlSession.close();}
(Mybatis)增删改查实现相关推荐
- Mybatis——增删改查(CRUD)操作
java学习--Mybatis CRUD操作 mybatis是一个可以自定义SQL.存储过程和高级映射的持久层框架.上面这个定义是在百度上抄的,简单来说,Mybatis简化了我们对数据库的一系列操作, ...
- SSM框架——Mybatis增删改查
目录 目录 环境配置 增删改查的实现 查询全部 查询单个ID 添加用户 修改用户 删除用户 增删改查-使用注解开发 思路流程:搭建环境-->导入Mybatis--->编写代码---> ...
- Mybatis增删改查
增删改查基本上就是一个操作,一模一样的,首先是UserMpper接口: package com.ftz.Demo.dao;import com.ftz.Demo.po.User;import java ...
- Mybatis 详细的创建流程及创建第一个Mybatis增删改查程序 CRUD
1.idea新建Maven项目Mybatis-study 将项目里的src文件夹删掉 依次将此项目作为父项目 2.在Mybatis-study中新建模块mybatis-01 在myba ...
- Mybatis——增删改查CLUD
一.CRUD 1.namespace namespace中的包名和 Dao/Mapper 接口中的包名一致 2.select 选择查询语句: id:就是对应的namespace中的方法名: resul ...
- springboot整合mybatis增删改查(三):mybatis逆向工程
上一篇已经把项目基本框架完善,接下来就是利用Mybatis Generator逆向工程进行mybatis的整合. 我们在创建项目开始的时候已经勾选web,mybatis,sql等,但是这些依赖还是不够 ...
- mybatis增删改查快速实现!!!
Mybatis 简介 ** 1.什么是Mybatis ** MyBatis是一款优秀的基于java的持久层框架,它内部 封装了jdbc,使开发者只需要关注sql语句本身. 参考文档 :https:// ...
- java 基础做增删改查教学_Java Mybatis 增删改查 简单使用 入门 简版
一些基础问题的解决 数据库对应的表 初始数据 项目结构 pom.xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...
- mybatis 增删改查、批量插入和删除以及自动生成uuid主键和分页
Mapper接口: public int update(Admin admin); public Admin selectByUserName(String account); public List ...
- MyBatis 增删改查
MyBatis 学习记录 MyBatis 特性 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果 ...
最新文章
- 计算机视觉方向简介 | 阵列相机立体全景拼接
- 详解Python拼接字符串的七种方式
- 突发!贝壳董事长左晖因疾病意外去世
- java基础-可执行jar包
- linux下测试RTC驱动相关的命令date和hwclock常见用法简介
- DM368 Uboot
- 自顶向下和自底向上测试的优缺点
- 进入hbase命令_Zookeeper、Hbase安装部署
- 人工智障学习笔记——深度学习(4)生成对抗网络
- 带你彻底弄明白!java实现平衡二叉树
- 云存储市场上演“新三国演义”
- 一文搞懂VOS3000如何配置MicroSIP网络电话
- python 斯皮尔曼相关系数_斯皮尔曼等级相关系数(Spearmansrankcorrelationcoefficient)
- 警告怎么去除Reports empty tag body. The validation works in XML / JSP / JSPX / HTML/ XHTML file types
- 计算机cmd测试,电脑cmd命令怎么测试网速详细步骤
- python的OOP机制
- nacos cloud 配置中心中 修改properties格式内容并发布然后在浏览器页面刷新无效果
- PL/SQL语言简单案例
- 单反相机的传奇—佳能单反50年辉煌之路(连载十八)
- 打工宣言“我选择打工”走红,网友:言之有理,不得不赞同!