mybatis的sql和你在数据库客户端执行的sql是一样的,但是在mybatis中调用的sql一般都是动态的,所以用到了参数传递。这个mybatis有对应的标签以及相应的变量来实现。你可以搜索下mybatis标签。同时给你一个参考的你看看,这个是一个查询用户的selectID,LOGIN_NAME AS loginName,PASSWORD,REAL_NAME AS realName,POSITION,(SELECT D.POSITION_NAME FROM UNIT_POSITION D WHERE D.POSITION_CODE=T.POSITION) POSITIONNAME,USER_TYPE AS userType,SEX,PID,TO_CHAR(T.BIRTHDAY,'YYYY-MM-DD') BIRTHDAY,EMAIL,CONTACT_TEL AS contactTel,CONTACT_MOBILE AS contactMobile,CONTACT_FAX AS contactFax,CONTACT_ZIP AS contactZip,CONTACT_ADDR AS contactAddr,STATUS,EDUCATION,(SELECT D.EDUCATION_NAME FROM UNIT_EDUCATION D WHERE D.EDUCATION_CODE=T.EDUCATION AND D.STATUS=0) EDUCATIONNAME,NATION,POLITICAL,REMARK,TO_CHAR(T.CREATE_DATE,'YYYY-MM-DD HH24:MI:SS') createDate,(SELECT D.REAL_NAME FROM UNIT_USER D WHERE D.ID= T.CREATE_USER_ID) createUserId,TO_CHAR(T.UPDATE_DATE,'YYYY-MM-DD HH24:MI:SS') updateDate,(SELECT D.REAL_NAME FROM UNIT_USER D WHERE D.ID= T.UPDATE_USER_ID) updateUserIdfrom UNIT_USER T]]>T.STATUS='1'and T.REAL_NAME like '%${realName}%'AND T.ID IN (SELECT DISTINCT D.USER_ID FROM UNIT_USER_DEPT D WHERE D.DEPT_CODE IN (${nexusDpartment}))AND T.ID IN (SELECT DISTINCT D.USER_ID FROM UNIT_USER_DEPT D WHERE D.DEPT_CODE = #{deptCode})order by ${sort}${direction}