谢谢fxyxxxxx,insert into mocha_duty_t_data (duty_id) values(dutyID); 我把后面的";"号去了,现在还是报错: org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/mocha/duty/ibatise/maps/Duty.xml. --- The error occurred while applying a parameter map. --- Check the addDuty-InlineParameterMap. --- Check the statement (update failed). --- Cause: java.sql.SQLException: ORA-00984: 列在此处不允许com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred in com/mocha/duty/ibatise/maps/Duty.xml. --- The error occurred while applying a parameter map. --- Check the addDuty-InlineParameterMap. --- Check the statement (update failed). --- Cause: java.sql.SQLException: ORA-00984: 列在此处不允许 at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107) at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:393) at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82) at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:58) at org.springframework.orm.ibatis.SqlMapClientTemplate$9.doInSqlMapClient(SqlMapClientTemplate.java:319) at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:165) at org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:317) at com.mocha.duty.daoImpl.DutyDaoImpl.addDuty(DutyDaoImpl.java:25) at com.mocha.duty.serviceImpl.DutyServiceImpl.addDuty(DutyServiceImpl.java:46) at com.mocha.duty.action.DutyDidAction.addDuty(DutyDidAction.java:88) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274) at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194) at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at com.mocha.duty.filter.EncodingFilter.doFilter(EncodingFilter.java:34) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:595) Caused by: java.sql.SQLException: ORA-00984: 列在此处不允许 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219) at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3476) at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168) at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:80) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216) at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94) ... 49 more
The error occurred in com/mocha/duty/ibatise/maps/Duty.xml. --- The error occurred while applying a parameter map. 参数匹配时 出错。<insert id="addDuty" parameterClass="com.mocha.duty.vo.DutyVO"> <selectKey keyProperty="dutyID" resultClass="java.lang.Integer"> SELECT MOCHA_TODO_Q_DUTY.NEXTVAL AS id FROM DUAL </selectKey> insert into mocha_duty_t_data (duty_id) values(dutyID); </insert> 楼主 你这里是把 查询出的ID 插入 mocha_duty_t_data表? 这个表只有一个字段吗? values(dutyID);
<insert id="addDuty" parameterClass="com.mocha.duty.vo.DutyVO"> <selectKey keyProperty="dutyID" resultClass="java.lang.Integer"> SELECT MOCHA_TODO_Q_DUTY.NEXTVAL AS id FROM DUAL </selectKey> insert into mocha_duty_t_data (duty_id) values(#dutyID:INTEGER#); </insert> 另外:可能不要 resultClass="java.lang.Integer"
已经告诉你无效的字符了,XML配置错误。应该起动都会报错。 <insert id="addDuty" parameterClass="com.mocha.duty.vo.DutyVO"> <selectKey keyProperty="dutyID" resultClass="java.lang.Integer"> SELECT MOCHA_TODO_Q_DUTY.NEXTVAL AS id FROM DUAL </selectKey> insert into mocha_duty_t_data (duty_id) values(dutyID); </insert> </sqlMap> 把 和>去掉
我把后面的";"号去了,现在还是报错:
org.springframework.jdbc.BadSqlGrammarException: SqlMapClient operation; bad SQL grammar []; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/mocha/duty/ibatise/maps/Duty.xml.
--- The error occurred while applying a parameter map.
--- Check the addDuty-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: ORA-00984: 列在此处不允许com.ibatis.common.jdbc.exception.NestedSQLException:
--- The error occurred in com/mocha/duty/ibatise/maps/Duty.xml.
--- The error occurred while applying a parameter map.
--- Check the addDuty-InlineParameterMap.
--- Check the statement (update failed).
--- Cause: java.sql.SQLException: ORA-00984: 列在此处不允许 at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:107)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:393)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:58)
at org.springframework.orm.ibatis.SqlMapClientTemplate$9.doInSqlMapClient(SqlMapClientTemplate.java:319)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:165)
at org.springframework.orm.ibatis.SqlMapClientTemplate.insert(SqlMapClientTemplate.java:317)
at com.mocha.duty.daoImpl.DutyDaoImpl.addDuty(DutyDaoImpl.java:25)
at com.mocha.duty.serviceImpl.DutyServiceImpl.addDuty(DutyServiceImpl.java:46)
at com.mocha.duty.action.DutyDidAction.addDuty(DutyDidAction.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.mocha.duty.filter.EncodingFilter.doFilter(EncodingFilter.java:34)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: ORA-00984: 列在此处不允许 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:970)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3476)
at org.apache.commons.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:168)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:80)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
... 49 more
--- The error occurred while applying a parameter map. 参数匹配时 出错。<insert id="addDuty" parameterClass="com.mocha.duty.vo.DutyVO">
<selectKey keyProperty="dutyID" resultClass="java.lang.Integer">
SELECT MOCHA_TODO_Q_DUTY.NEXTVAL AS id FROM DUAL
</selectKey>
insert into mocha_duty_t_data (duty_id) values(dutyID);
</insert>
楼主 你这里是把 查询出的ID 插入 mocha_duty_t_data表?
这个表只有一个字段吗? values(dutyID);
<selectKey keyProperty="dutyID" resultClass="java.lang.Integer">
SELECT MOCHA_TODO_Q_DUTY.NEXTVAL AS id FROM DUAL
</selectKey>
insert into mocha_duty_t_data (duty_id) values(#dutyID:INTEGER#);
</insert> 另外:可能不要 resultClass="java.lang.Integer"
<selectKey keyProperty="dutyID" resultClass="java.lang.Integer">
SELECT MOCHA_TODO_Q_DUTY.NEXTVAL AS id FROM DUAL
</selectKey>
insert into mocha_duty_t_data (duty_id) values(dutyID);
</insert>
</sqlMap>
把 和>去掉
package com.java91.lesson01.dao;import java.util.List;
import java.util.Map;import com.java91.lesson01.bean.Student;public interface StudentDao {
void addStudent(Student s); List getStudentBySex(String sexpa);
void deleteStudent(String sno);
void updateStudent(Student s);
Student getStudentBySno(String snoPara);
List queryStudent(Map map); }
package com.java91.lesson01.bean;import javax.sql.DataSource;import com.java91.common.Framework;
public class Student { private String sno;//学号
private String sname;//姓名
private int age;
private String sex;//姓别
private int grade;
public Student(String sno,String sname,int age,String sex,int grade) {
this.sno=sno;
this.sname=sname;
this.age=age;
this.sex=sex;
this.grade=grade;
}
public Student(){
}
public String toString() {
return this.sno+","+this.sname+","+this.age+","+this.sex+","+this.grade;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> <sqlMapConfig>
<!--
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/mytest"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value="root"/>
</dataSource>
</transactionManager>
-->
<settings cacheModelsEnabled="false" lazyLoadingEnabled="true"
enhancementEnabled="true" useStatementNamespaces="true" />
<!--
<sqlMap resource="sqlmapCommon.xml"/>-->
<sqlMap resource="SqlMapecsideAuto.xml"/>
</sqlMapConfig>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="common"><resultMap id="StudentResult" class="com.java91.lesson01.bean.Student">
<result property="sno" column="sno" />
<result property="sname" column="sname" />
<result property="age" column="age" />
<result property="sex" column="sex" />
<result property="grade" column="grade" />
</resultMap>
<select id="getStudent" resultMap="StudentResult" parameterClass="string">
select *
from student
where sno = #value#
</select>
<delete id="deleteStudent" parameterClass="string">
delete from Student where sno = #value#
</delete>
<update id="updateStudent" parameterClass="com.java91.lesson01.bean.Student">
update Student
set
sno = #sno#
<isNotNull property="sname">,SNAME = #sname#</isNotNull>
<isNotNull property="age">,AGE = #age#</isNotNull>
<isNotNull property="sex">,SEX = #sex#</isNotNull>
<isNotNull property="grade">,GRADE = #grade#</isNotNull>
where sno = #sno#
</update><insert id="insertStudent" parameterClass="com.java91.lesson01.bean.Student">
insert into Student(
<isNotNull property="sno">SNO</isNotNull>
<isNotNull property="sname">, SNAME</isNotNull>
<isNotNull property="age">, AGE</isNotNull>
<isNotNull property="sex">, SEX</isNotNull>
<isNotNull property="grade">, GRADE</isNotNull>)
values (
<isNotNull property="sno">#sno#</isNotNull>
<isNotNull property="sname">,#sname#</isNotNull>
<isNotNull property="age">,#age#</isNotNull>
<isNotNull property="sex">,#sex#</isNotNull>
<isNotNull property="grade">,#grade#</isNotNull>)
</insert> <select id="queryStudent" resultMap="common.StudentResult">
select * from Student
<dynamic prepend="where">
<isNotEmpty prepend="and" property="SNO">
SNO = #SNO#
</isNotEmpty>
<isNotEmpty prepend="and" property="SNAME">
SNAME = #SNAME#
</isNotEmpty>
<isNotEmpty prepend="and" property="SEX">
SEX = #SEX#
</isNotEmpty>
</dynamic>
<dynamic prepend="order by">
<isNotEmpty property="sortString">
$sortString$
</isNotEmpty>
<isEmpty property="sortString">
SNO
</isEmpty>
</dynamic>
</select>
<select id="countStudent" resultClass="int">
select * from Student
<dynamic prepend="where">
<isNotEmpty prepend="and" property="SNO">
SNO = #SNO#
</isNotEmpty>
<isNotEmpty prepend="and" property="SNAME">
SNAME = #SNAME#
</isNotEmpty>
<isNotEmpty prepend="and" property="SEX">
SEX = #SEX#
</isNotEmpty>
</dynamic>
</select> <select id="queryAjaxStudents" parameterClass="com.java91.common.dao.FormatMap" resultClass="java.util.HashMap">
select * from Student
<dynamic prepend="where">
<isNotEmpty prepend="and" property="sno">
sno = #sno#
</isNotEmpty>
<isNotEmpty prepend="and" property="sname">
sname = #sname#
</isNotEmpty>
</dynamic>
<dynamic prepend="order by">
<isNotEmpty property="sortString">
$sortString$
</isNotEmpty>
<isEmpty property="sortString">
sno
</isEmpty>
</dynamic>
<dynamic prepend="">
<isNotEmpty property="dynamicString">
$dynamicString$
</isNotEmpty>
</dynamic>
</select>
<select id="countAjaxStudents" resultClass="int">
select count(sno) from from Student
<dynamic prepend="where">
<isNotEmpty prepend="and" property="sno">
sno = #sno#
</isNotEmpty>
<isNotEmpty prepend="and" property="sname">
sname = #sname#
</isNotEmpty>
</dynamic>
<dynamic prepend="">
<isNotEmpty property="dynamicString">
$dynamicString$
</isNotEmpty>
</dynamic>
</select>
<!-- SNAME like #SNAME#
%$SNAME$%
<select id="dynamicGetAccountList" cacheModel="account-cache" resultMap="account-result" >
select * from ACCOUNT
<isGreaterThan prepend="and" property="id" compareValue="0">
where ACC_ID = #id#
</isGreaterThan>
</select>上面的例子中,根据参数bean“id”属性的不同情况,可创建两个可能的语句。
如果参数“id”大于0,将创建下面的语句: select * from ACCOUNT where ACC_ID = ?
如果“id”参数小于等于0,将创建下面的语句: select * from ACCOUNT
动态配置SQL,根据传入的参数类/MAP的:
1、某属性是否存在
2、某属性的值是否为空或NULL。
3、某属性的值的大小。
一元判定节点有:
<isPropertyAvailable prepend="" property="sname">: 参数类中是否有name这个属性,只要该类有该属性就成立,不用再判断其具体的值。
<isNotPropertyAvailable prepend="" property="name">:
<isNull property="name"> :属性name的值是否为NULL
<isNotNull property="name"> :
<isEmpty property="name"> :参数类的属性name是否为null或"".
<isNotEmpty property="name">:
二元判定有两个判定参数,一是属性名,而是判定值,如
<isGreaterThan prepend="AND" property="age"compareValue="18"> :参数类的age属性值大于18则满足条件
<isGreaterEqual prepend="AND" property="age"compareValue="18"> :参数类的age属性值大于 或等于 18则满足条件
<isLessThan prepend="AND" property="age"compareValue="18"> :参数类的age属性值小于
<isLessEqual prepend="AND" property="age"compareValue="18"> :参数类的age属性值小于或等于
<isEqual prepend="AND" property="age"compareValue="18">:参数类的属性age是否等于18。
<isNotEqual prepend="AND" property="age"compareValue="18">:
<isNotNull prepend="and" property="age">
<![CDATA[
age >= #age#*0.8 and age <= #age#*1.2
]]>
</isNotNull>
<isNotEmpty prepend="and" property="createtime_to">
createtime between #createtime_from# and #createtime_to#+1
</isNotEmpty>
<isNotNull property="beginDate">
<![CDATA[
and createTime >= #beginDate#
]]>
</isNotNull>
<isNotNull property="endDate">
<![CDATA[
and createTime <= #endDate#
]]>
</isNotNull>
upper(englishname) LIKE upper(#englishname#) --></sqlMap>