MyBatis的增删改查操作
搭建好mybatis之后 进行对数据库的操作
添加语句
在映射文件中添加语句
insert into student(name,age,score) values(#{name},#{age},#{score})
映射文件要放在与接口一个目录下
namespace:必须是对应接口的全限定名
id :dao中的方法名字
parameterType:传入的参数类型 可以省略
添加语句后 获取主键的值 赋值给主键
insert into student(name,age,score) values(#{name},#{age},#{score})
select @@identity
2.删除语句
update student set name=#{name} ,age=#{age},score=#{score}
where id = #{id}
3.查询语句
/**
* 静态参数
* @param student
*/
void insertStudent(StudentBean student);
List selectStudentAll();
//根据姓名模糊查询
List selectStudentByName(String name);
//多参数查询 使用map作为方法参数
List selectStuByMap1(Map map);
List selectStuByMap2(Map map);
List selectStuByParameters1(String name , int age);
List selectStuByParameters2(String name , StudentBean student);
List selectStuByParameters3(@Param("name") String name , @Param("age")int age);
List selectStuByParameters4(@Param("name") String name , @Param("student") StudentBean student);
select * from student
select * from student where name like '%' #{name} '%'
select * from student where name like '%' #{name} '%' and age>#{age}
select * from student where name like '%' #{name} '%' and age > #{student.age}
select * from student where name like '%' #{0} '%' and age > #{1}
select * from student where name like '%' #{0} '%' and age > #{1.age}
动态参数
/**
* 动态参数
*/
//mybatis 动态参数类似域jstl《c:》
//if拼接 sql语句要跟上 where 1 =1
List selectStudentByIf(StudentBean student);
select * from student where 1=1
and name like '%' #{name} '%'
and age > #{age}
//不生成 1= 1 提高效率 自动在sql语句拼接的时候加上where 关键字
List selectStudentByWhere(StudentBean student);
select * from student
and name like '%' #{name} '%'
and age > #{age}
//多选一无锡人流医院 http://www.bhnfkyy.com/
List selectStudentByChoose(StudentBean student);
select * from student
where name like '%' #{name} '%'
where age > #{age}
where 1 = 2
List selectStudentByForeachArray(int[] ids);
select * from student
where id in
#{id}
List selectStudentByForeachList(List ids);
select * from student
where id in
#{id}
List selectStudentByForeachStudent(List students);
select * from student
where id in
#{student.id}
List selectStudentBySqlFragement();
select student
* from
//统计一张表的总数据条数 分页的总条数
int selectStudentCount();
select count(*) from student
MyBatis的增删改查操作的更多相关文章
- 学习MyBatis必知必会(5)~了解myBatis的作用域和生命周期并抽取工具类MyBatisUtil、mybatis执行增删改查操作
一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用 ...
- MyBatis批量增删改查操作
前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作.前文地址:http://blog.csdn.net/mahoking/article/details/43673741 ...
- Mybatis之增删改查操作
准备工作 建立整体项目目录 新建一个java工程,创建如下工程目录 其中com.kang.pojo中存放pojo类,com.kang.test中存放测试类. 源码目录config中存放Mybatis的 ...
- MyBatis学习之简单增删改查操作、MyBatis存储过程、MyBatis分页、MyBatis一对一、MyBatis一对多
一.用到的实体类如下: Student.java package com.company.entity; import java.io.Serializable; import java.util.D ...
- 从0开始完成SpringBoot+Mybatis实现增删改查
1.准备知识: 1)需要掌握的知识: Java基础,JavaWeb开发基础,Spring基础(没有Spring的基础也可以,接触过Spring最好),ajax,Jquery,Mybatis. 2)项目 ...
- mongoVUE的增删改查操作使用说明
mongoVUE的增删改查操作使用说明 一. 查询 1. 精确查询 1)右键点击集合名,再左键点击Find 或者直接点击工具栏上的Find 2)查询界面,包括四个区域 {Find}区,查询条件格式{& ...
- (转)SQLite数据库增删改查操作
原文:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html SQLite数据库增删改查操作 一.使用嵌入式关系型SQLite数 ...
- 详谈easyui datagrid增删改查操作
转自:http://blog.csdn.net/abauch_d/article/details/7734395 前几天我把easyui dadtagrid的增删改查的实现代码贴了出来,发现访问量达到 ...
- PHP程序中使用PDO对象实现对数据库的增删改查操作的示例代码
PHP程序中使用PDO对象实现对数据库的增删改查操作(PHP+smarty) dbconn.php <?php //------------------------使用PDO方式连接数据库文件- ...
随机推荐
- Ubuntu14.04 使用scp远程传输命令进行服务器文件互传
1.将另一个服务器上的文件拷贝到本地 sudo scp host_name@host_ip:/home/aaa/bbb /ccc/ddd/bbb 上面命令的意思是将远程服务器/home/aaa/目录下 ...
- HDU 1024 A - Max Sum Plus Plus DP + 滚动数组
http://acm.hdu.edu.cn/showproblem.php?pid=1024 刚开始的时候没看懂题目,以为一定要把那n个数字分成m对,然后求m对中和值最大的那对 但是不是,题目说的只是 ...
- MapReduce作业的执行流程
MapReduce任务执行总流程 一个MapReduce作业的执行流程是:代码编写 -> 作业配置 -> 作业提交 -> Map任务的分配和执行 -> 处理中间结果 -> ...
- DOM操作(二)对元素的操作(创建,追加,删除)
1 创建新的 HTML 元素 (节点) var divDom=document.createElement('div'); 2 添加新元素到尾部 element.appendChild(para); ...
- w3c万维网的介绍和html基本构成
怎么与浏览器交互? 1.鼠标 2.键盘输入 w3c标准: 中文名:万维网联盟!外文名:world wide web cansortium万维网联盟创建于1994年,是web技术领域最具权威个影响的国际 ...
- vue-cli3项目优化首页加载过慢的一些心得
博主最近发现vue-cli3项目做完后,点击首页加载时间好久啊,一般都要3-5s.这样的加载时间博主自己都受不了,所以就有了这个随笔,将自己的一些研究心得分享给大家. 首先推荐大家下载一个webpac ...
- div嵌套时,子元素设置margin-top失效问题
这是因为父元素的padding设置为0时所产生的bug,它自动将margin-top提升到了父元素上,所以此时我们所设置的margin-top自动就到父元素上了,解决方案: 1.给父元素添加一个pad ...
- 使用PM2搭建在线vue.js开发环境(以守护进程方式热启动)
项目以vue.js+layUI的作为前端开发技术栈,需要有一个在线的环境供项目成员实时查看效果,总不能每次都webpack打包发布后才能看到效果吧!刚开始就简单使用npm run dev命令热启动,但 ...
- Python+selenium整合自动发邮件功能
主要实现的目的是:自动将测试报告以邮件的形式通知相关人员 from HTMLTestRunner import HTMLTestRunner import HTMLTestReport from em ...
- SqlServer中嵌套事务使用--事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配 --根本问题
转自 :SqlServer中嵌套事务使用--事务计数指示 BEGIN 和 COMMIT 语句的数目不匹配 --根本问题 问题: 1. System.Data.SqlClient.SqlExcepti ...