Mybatis之MySQL批量增删改查,多选项查询,模糊查询,分页
2017-08-21 23:24
513 查看
做项目经常会用的增删改查的操作,单个的操作我就不写了。这里主要写的是批量的操作,多选项查询,模糊查询,分页操作。有兴趣的童鞋可以看一下。有错误麻烦之出,谢谢~
首先,简单做了个admin表
持久层:
持久层:
持久层:
持久层:
持久层:
mapper接口部分:
持久层:
比如说,你要显示第5页,每页10条数据。则pageNum=5,pageSize=10,pageRow=(5-1)*10。limit的里面不能公式计算,传值的时候需要注意提前计算好,再传。
mapper接口部分:
持久层:
首先,简单做了个admin表
create table admin( aid number(10) primary key, aname varchar2(100) , pwd varchar2(100), city varchar2(100), address varchar2(200) )
1、批量添加
mapper接口部分:public int addAdmin(List<Admin> adminList);
持久层:
<insert id="addAdmin" > insert into amdin (aid,aname,pwd,city,address) values <foreach collection="list" item="item" index="index" separator=","> (#{item.aid},#{item.aname},#{item.pwd},#{item.city},#{item.address) </foreach> </insert>
2、批量删除
mapper接口部分:public int delAdmin(String[] adminArray);
持久层:
<delete id="delAdmin"> delete from admin where aid in <foreach collection="array" item="fid" open="(" separator="," close=")"> #{aid} </foreach> </delete>
3、修改信息
mapper接口部分:public int update(Admin admin);
持久层:
<update id="update" parameterType="Admin"> update admin set aname=#{aname},city=#{city},address=#{address} where aid=#{aid} </update>
4、查询总数
mapper接口部分:public int total();
持久层:
<select id="total" resultType="int" > select count(1) from admin; </select>
5、多选项查询(选项可以为null)
mapper接口部分:public ArrayList<Admin> findBySelect(@param("aname") String aname,@param("city") String city,@param("address") String address);
持久层:
<select id="findAll" resultType="Admin" > select * from admin where aid>0 <if test="aname!=null and aname!=''"> and aname=#{aname} </if> <if test="city!=null and city!=''"> and city=#{city} </if> <if test="address!=null and address!=''"> and address=#{address} </if> </select>
6、模糊查询
因为concat语句只能写两个参数,因此要前后都模糊查询的话,需要两次concat连接mapper接口部分:
public ArrayList<Admin> findByVague(String aname);
持久层:
<select id="findByVague"> select * from admin where aname like concat(concat('%', #{aname}), '%'); </select>
7、分页操作
pageNum是页码数,pageSize是每页条数,而pageRow是前X页的总行数。比如说,你要显示第5页,每页10条数据。则pageNum=5,pageSize=10,pageRow=(5-1)*10。limit的里面不能公式计算,传值的时候需要注意提前计算好,再传。
mapper接口部分:
public ArrayList<Admin> findBySelect(@param("pageRow") String pageRow,@param("pageSize") String pageSize);
持久层:
<select id="findByPage"> select * from (select aid from admin limit ${pageRow},1) limit ${pageSize}; select * from admin where bbu_id>=(select aid from admin limit ${pageRow},1) limit ${pageSize}//这句比上句效率高,自己体会一下 </select>
相关文章推荐
- 数据库——MySQL(二)(增删查改、去重,分页、模糊查询、排序)
- mybatis+mysql带模糊查询的分页代码
- mybatis+springMVC对新闻的增删改查操作(查询分页)
- mybatis分页及模糊查询功能实现
- MyBatis实现单表增删改查(CURD)--模糊查询
- mybatis环境搭建、模糊查询、分页、增删改、事务处理
- JDBC实现增删改查、模糊查询、分页查询、子查询以及体现单例设计模式连接数据库
- Mybatis实现增删改查及分页查询的方法
- MyBatis简单的增删改查以及简单的分页查询实现
- mybatis接口式的模糊查询、分页、增删改、事务处理
- MyBatis模糊查询分页
- IOS-CoreData(增删改查、表关联、分页和模糊查询、多个数据库)
- 通过JDBC实现对Oracle,mysql数据库的增删改查,模糊查询,查询全部,根据ID查询,分页查询,统计查询,
- MyBatis简单的增删改查以及简单的分页查询实现
- 在mybatis中实现oracle分页和模糊查询
- mongodb java增删该查和模糊、排序和分页查询
- mybatis里面的mysql和oracle简单模糊查询
- hibernate -- 分页模糊查询中setParameter 和setParameterList
- Mybatis各种模糊查询
- MyBatis 模糊查询 防止Sql注入