mybatis 增删改查、批量插入和删除以及自动生成uuid主键和分页
来源:互联网 发布:网络通信设备品牌排行 编辑:程序博客网 时间:2024/05/17 23:15
Mapper接口:
public int update(Admin admin);public Admin selectByUserName(String account);public List<Admin> list();public int add(Admin admin);public int delete(String id);public Set<String> getRoleIds(String adminId);public void deleteRole(Map<String,Object> map);public List<Role> getRoles(@Param("set") Set<String> roleIds);public void addRole(List<AdminRole> addRoleList);public void deleteRoles(@Param("adminId")String adminId, @Param("deleteList")List<String> deleteRoles);public List<Function> list(PageVo pageVo);
Mapper.xml:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mapper namespace="com.young.shop.dao.mapper.AdminMapper"> <!--设置domain类和数据库中表的字段一一对应,注意数据库字段和domain类中的字段名称不致,此处一定要! --> <resultMap id="BaseResultMap" type="com.young.shop.vo.Admin"> <id column="id" property="id" jdbcType="VARCHAR" /> <result column="username" property="username" jdbcType="VARCHAR" /> <result column="password" property="password" jdbcType="VARCHAR" /> <result column="email" property="email" jdbcType="VARCHAR" /> </resultMap> <resultMap id="AdminRoleResultMap" type="com.young.shop.vo.AdminRole"> <id column="id" property="id" jdbcType="VARCHAR" /> <result column="role_id" property="roleId" jdbcType="VARCHAR" /> <result column="admin_id" property="adminId" jdbcType="VARCHAR" /> </resultMap> <resultMap id="RoleResultMap" type="com.young.shop.vo.Role"> <id column="id" property="id" jdbcType="VARCHAR" /> <result column="name" property="name" jdbcType="VARCHAR" /> </resultMap> <!-- 查询单条记录 --> <select id="selectByUserName" parameterType="String" resultMap="BaseResultMap"> SELECT * FROM t_admin WHERE username = #{username} </select> <!-- 查询所有记录 --> <select id="list" resultMap="BaseResultMap"> SELECT * FROM t_admin </select> <!--修改记录 --> <update id="update" parameterType="com.young.shop.vo.Admin"> update t_admin <set> <if test=" username != null "> username = #{username,jdbcType=VARCHAR}, </if> <if test=" password != null "> password = #{password,jdbcType=VARCHAR}, </if> <if test=" email != null "> email = #{email,jdbcType=VARCHAR} </if> </set> where id = #{id,jdbcType=VARCHAR} </update> <!--添加记录 --> <insert id="add" parameterType="com.young.shop.vo.Admin"><selectKey keyProperty="id" resultType="java.lang.String" order="BEFORE"> select replace(uuid(),'-','') from dual </selectKey> insert into t_admin (id,username,password,email) values (#{id},#{username},#{password},#{email}) </insert> <delete id="delete"> delete from t_admin where id=#{id} </delete> <select id="getRoleIds" resultMap="AdminRoleResultMap"> select * from t_admin_role where admin_id = #{adminId} </select> <select id="getRoles" resultMap="RoleResultMap" parameterType="java.util.Set"> select * from t_role where id in <foreach collection="set" index="index" item="item" open="(" separator="," close=")"> #{item.roleId} </foreach> </select> <!-- 批量删除 使用map--> <delete id="deleteRole" parameterType="map"> delete from t_admin_role where admin_id = #{adminId} and role_id in <foreach collection="deleteRoles" index="index" item="item" open="(" separator="," close=")"> #{item.roleId} </foreach> </delete> <!-- 批量插入 --> <insert id="addRole"> insert into t_admin_role (id,role_id,admin_id) values <foreach collection="list" index="index" item="item" separator=","> (#{item.id},#{item.roleId},#{item.adminId}) </foreach> </insert> <!-- 批量删除 使用list--> <delete id="deleteRoles"> delete from t_admin_role where admin_id = #{adminId} and role_id in <foreach collection="deleteList" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </delete> <!-- 查询所有记录 --> <select id="list" parameterType="com.cn21.shop.vo.PageVo" resultMap="BaseResultMap"> SELECT * FROM t_function <if test=" page != null and size != null"> limit #{page},#{size} </if> </select> </mapper>
加黑部分为需注意的地方以及分页查询和自动生成uuid主键
具体可以学习一下MyBatis的动态SQL详解
0 0
- mybatis 增删改查、批量插入和删除以及自动生成uuid主键和分页
- mybatis 增删改查、批量插入和删除以及自动生成uuid主键和分页
- 【Mybatis学习】Mybatis简单增删改查以及批量操作
- Spring框架开发实现对商品列表的增删改查以及批量删除和批量修改
- springmvc-mybatis的增删改查以及主键返回
- jsp+servlet实现增删改查,分页,批量删除
- MyBatis搭建和增删改查(入门)
- Mybatis增删改查和智能标签
- 普元 EOS Platform 7.6 从表主键生成策略采用:自动生成uuid,实现主从表增删改查示例demo
- maven+mybatis+mybatis-generator+sql server 2005自动生成代码,加上自定义分页插件和批量插入更新插件
- MyBatis Insert返回主键和批量插入
- 使用mybatis批量插入数据库自动生成主键
- mybatis之批量插入和批量删除
- myBatis批量增删改和批量增OR删
- MyBatis批量增删改查操作
- MyBatis批量的增删改查操作
- mybatis增删改查与批量操作
- MyBatis批量增删改查操作
- [从jQuery看JavaScript]-匿名函数与闭包(Anonymous Function and Closure)
- Android Studio及Gradle
- SpringBoot初始教程之Servlet、Filter、Listener配置(七)
- c++学习笔记(一)——变量、常量、地址
- centos6.2 vnc安装及使用
- mybatis 增删改查、批量插入和删除以及自动生成uuid主键和分页
- android 布局管理器
- Unity3D Shader 新手教程(4/6) —— 卡通shader(入门版)
- C语言最大公约数和最小公倍数
- 手机号码检测开通微信
- 如何完全卸载oracle
- Unity3D Shader 新手教程(5/6) —— Bumped Diffuse Shader
- c语言中的格式化字符串
- 错误 3 无法将文件“obj\Debug\xxxx.exe”复制到“..\客户端\xxxx