package com.ekexiu.portal.dao; import java.sql.Connection; import java.sql.SQLException; import java.util.List; import org.jfw.apt.annotation.Nullable; import org.jfw.apt.orm.annotation.dao.DAO; import org.jfw.apt.orm.annotation.dao.method.From; import org.jfw.apt.orm.annotation.dao.method.Or; import org.jfw.apt.orm.annotation.dao.method.OrderBy; import org.jfw.apt.orm.annotation.dao.method.SetSentence; import org.jfw.apt.orm.annotation.dao.method.operator.PageQuery; import org.jfw.apt.orm.annotation.dao.method.operator.PageSelect; import org.jfw.apt.orm.annotation.dao.method.operator.SelectList; import org.jfw.apt.orm.annotation.dao.method.operator.SelectOne; import org.jfw.apt.orm.annotation.dao.method.operator.UpdateWith; import org.jfw.apt.orm.annotation.dao.param.Alias; import org.jfw.apt.orm.annotation.dao.param.In; import org.jfw.apt.orm.annotation.dao.param.Like; import org.jfw.apt.orm.annotation.dao.param.Set; import org.jfw.apt.orm.annotation.dao.param.SqlColumn; import org.jfw.apt.orm.core.defaultImpl.FixLenStringHandler; import org.jfw.util.PageQueryResult; import com.ekexiu.portal.po.Ppatent; import com.ekexiu.portal.pojo.AssedPatent; @DAO public interface PpatentDao { @SelectOne @Nullable Ppatent query(Connection con, String id) throws SQLException; @SelectList List query(Connection con, @In String[] id) throws SQLException; @UpdateWith @From(Ppatent.class) int update(Connection con, String id, @Set String keywords) throws SQLException; @PageQuery @OrderBy(" ORDER BY ASS_TIME DESC,ID ASC") PageQueryResult pageQueryWithProfessor(Connection con, @SqlColumn(handlerClass = FixLenStringHandler.class, value = { "A.PROFESSOR_ID=?" }) String professId, @SqlColumn(handlerClass = FixLenStringHandler.class, value = { "P.NAME LIKE ?" }) String name, int pageSize, int pageNo) throws SQLException; @PageQuery @OrderBy(" ORDER BY ASS_TIME DESC,ID ASC") PageQueryResult pageQueryWithAuthor(Connection con, @SqlColumn(handlerClass = FixLenStringHandler.class, value = { "A.NAME=?" }) String author, @SqlColumn(handlerClass = FixLenStringHandler.class, value = { "((A.PROFESSOR_ID=?) OR (A.PROFESSOR_ID='################################'))" }) String id, @SqlColumn(handlerClass = FixLenStringHandler.class, value = { "P.NAME LIKE ?" }) String name, int pageSize, int pageNo) throws SQLException; @From(Ppatent.class) @UpdateWith @SetSentence("PAGE_VIEWS = PAGE_VIEWS + 1") public abstract int incPageViews(Connection con,String id)throws SQLException; @PageSelect @OrderBy(" ORDER BY SORT_NUM DESC,CREATE_TIME DESC,ID DESC") PageQueryResult query(Connection con,int pageSize,int pageNo) throws SQLException; @PageSelect @OrderBy(" ORDER BY SORT_NUM DESC,CREATE_TIME DESC,ID DESC") @Or PageQueryResult query(Connection con,@Alias({"code","authors","name","keywords"}) @Like String cnt,int pageSize,int pageNo) throws SQLException; @SelectOne @Nullable Ppatent query(Connection con,long shareId)throws SQLException; }