Mybatis的一些小技巧
阿新 • • 發佈:2018-11-08
提升sql執行效率的小技巧 <!--為什麼要這麼寫?這樣寫可以提高sql的執行效率。而寫*,需要Oracle去資料庫查出欄位名,再拼接查詢--> <sql id="Base_Column_List" > ID, PRO_PARAM_DETAIL_ID, START_VALUE, END_VALUE, SCORE_CONTENT, CREATE_DATE, DATA_FLAG </sql> <select id="selectStuProScoreList" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from ASSESS_STU_PRO_SCORE </select>
查詢主表是一條資料、副表是多條資料時的小技巧。展開的一對多的資料格式。多對多則外面接List po實體類 public class BaseLoginUser{ private Integer id; private String userName; private List<BaseRoleList> roleList; get和set方法。 } Mapper層 public BaseLoginUser updUserById(Integer id); <resultMap type="com.jykj.po.powermanage.BaseLoginUser" id="baseLoginRoleInfo"> //表1的資料一一對應 <id column="id" property="id"/> <result column="username" property="userName"/> <collection property="roleList" ofType="com.jykj.po.powermanage.BaseRoleList"> //表2的資料一一對應 <id column="roleId" property="id"/> <result column="rolename" property="roleName"/> </collection> </resultMap> <!-- magen 2018/8/7 使用者管理,修改使用者,查詢使用者資訊。輸入使用者ID --> <select id="updUserById" parameterType="Integer" resultMap="baseLoginRoleInfo"> select * from 表1 left join 表2 on 表1.列=表2.列 where 表1.id=#{id} </select>