zoukankan      html  css  js  c++  java
  • Mybatis之分表设计与分表插入

    现今数据量越来越大,表存储的数据越来越多,以至于查的时候非常慢,使工作效率明显的降低

    所以对处理数据的保存就有比较常用的两个解决方案:分表,分区 

    在这里就说对分表和和通过mybatis对数据的增删改查

    分表:是真正的分表,一张表分成很多表后,每一个小表都是完正的一张表

    例如日志表:在数据库创建10张表XXXlog1,XXXlog2,XXXlog3,XXXlog4,XXXlog5........

    然后通过操作的用户的ID去取模  判断该用户的操作日志要插入哪个表

    #${tb_sub}传入的参数值是取模后的数字:1,2,3.....   另外id属于自增不做插入
    <insert id="insert" parameterType="Object" keyProperty="id">
      insert into XXXlog${tb_sub}(user_id,status,send_userid,type,receive_yes,name,contents,create_time,addip,is_del)
      values ( #{userId},#{status},#{sendUserid},#{type},#{receiveYes},#{name},#{contents},now(),#{addip},#{isDel})
    </insert>

    同理改:

     <update id="updateByPrimaryKey" parameterType="Object" >
       update XXXlog${tb_sub} set user_id=#{userId},status=#{status},send_userid=#{sendUserid},type=#{type},receive_yes=#{receiveYes},
    name=#{name},contents=#{contents},create_time=now(),addip=#{addip},is_del=#{isDel} where id=#{id}

    </update>

    同理查:

    <!-- 根据id查询表 -->
    <select id="selectByPrimaryKey"  resultMap="BaseResultMap" parameterType="Object">
        select <include refid="Base_Column_List" />  from XXXlog${tb_sub} where id = #{id} 
    </select>

    同理删:

    <!-- 删除记录 -->
    <delete id="deleteByPrimaryKey" parameterType="Object">
        delete from XXXlog${tb_sub} where id = #{id} 
    </delete>

    对于实体类与表之间的映射不做说明  详情可以查看:https://www.cnblogs.com/gjq1126-web/p/11363635.html

     controller层写法

    #Spring注入
    private IUserMessageReceiveService userMessageReceiveService;
    #方法内容
    Map<String, Object> userMessageReceive = new HashMap<String, Object>(); Long tableName = Long.valueOf(userId) % 10; userMessageReceive.put("tb_sub", "_" + tableName);
    ......
    userMessageReceiveService.insert(userMessageReceive);
  • 相关阅读:
    pandas Dataframe filter
    process xlsx with pandas
    data manipulate in excel with easyExcel class
    modify registry in user environment
    add number line in vim
    java import webservice
    ctypes MessageBoxA
    music 163 lyrics
    【python实例】自动贩卖机
    【python基础】sys模块(库)方法汇总
  • 原文地址:https://www.cnblogs.com/gjq1126-web/p/11376937.html
Copyright © 2011-2022 走看看