一、越少的代码,越强悍的功能,xml里面应该6个sql语句就够用了,修改,维护成本很低,见下表
下载
二、公共的查询条件和字段列表等抽出公共sql段,方便使用
三、一个mybatis.xml例子 下载
英文名 | 方法名称 | 核心点 | 建议 |
insert | 1.新增数据 | 如果是自增主键,应该返回主键ID | |
deleteById | 2. 根据主键ID删除数据 | sql默认加limit 1,防止多删数据 | 此方法不建议有,建议逻辑删除 |
updateById | 3. 根据主键ID修改数据 | sql默认加limit 1,防止多修改数据 | |
selectById | 4. 根据主键查询数据 | 查询一条数据 | |
selectByIdForUpdate | 5. 根据主键加锁查询数据 | 加锁查询一条数据,事务处理用 | |
queryListByParam | 6. 根据输入条件查询数据列表 | 和7配合使用 | |
queryCountByParam | 7. 根据输入条件查询总数 | 和6配合使用 |
二、公共的查询条件和字段列表等抽出公共sql段,方便使用
英文名 | 方法名称 | 核心点 | 建议 |
_field_list | 1.字段列表 | 修改方便,方便字段排序 | |
_value_list | 2. 字段值列表 | 修改方便,方便字段值排序 | |
_common_where | 3. 通用查询条件 | 每个字段的等值判断 | |
_regin_where | 4. 通用范围区间条件 | 字段的时间区间,字段的金额区间等的判断 | |
_contain_where | 5. 包含字段值范围条件 | 字段的常量值包含判断,in ,not in | |
_common_sorts | 6. 通用排序条件 | order by |
三、一个mybatis.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="Assets">
- <!-- 设置1分钟缓存,缓存大小1024,采用最近最少使用算法 -->
- <cache readOnly="true" flushInterval="60000" size="10" eviction="LRU" />
- <resultMap type="Assets" id="AssetsResultMap">
- <id property="id" column="id" />
- <result property="userId" column="user_id" />
- <result property="amount" column="amount" />
- <result property="earning" column="earning" />
- <result property="type" column="type" />
- <result property="status" column="status" />
- <result property="productId" column="product_id" />
- <result property="productName" column="product_name" />
- <result property="cardNo" column="card_no" />
- <result property="bankCode" column="bank_code" />
- <result property="orderId" column="order_id" />
- <result property="effectiveDate" column="effective_date" />
- <result property="redeemType" column="redeem_type"/>
- <result property="initAmount" column="init_amount"/>
- <result property="initEarning" column="init_earning"/>
- <result property="redeemingAmount" column="redeeming_amount"/>
- <result property="redeemingEarning" column="redeeming_earning"/>
- <result property="redeemedAmount" column="redeemed_amount"/>
- <result property="redeemedEarning" column="redeemed_earning"/>
- <result property="punishAmount" column="punish_amount"/>
- <result property="latestRedeemTime" column="latest_redeem_time"/>
- <result property="maturityDate" column="maturity_date"/>