厦门海沧网站建设,专题学习网站开发流程,福州外包加工网,网络页面设计公司上次说到了log/log_list.html的doGetObjects()#xff0c;其中有doFindPageObjects#xff08;#xff09;方法。 找到全部的日志对象#xff0c;并且输出到div上。这里是后台的代码。 01.pojo对象#xff0c;这里需要序列化保存。序列化的作用是保存对象到内存缓存中其中有doFindPageObjects方法。 找到全部的日志对象并且输出到div上。这里是后台的代码。 01.pojo对象这里需要序列化保存。序列化的作用是保存对象到内存缓存中或者是文件中安全保存。
这里需要implement Serializable接口并且在类中去添加uid。 选中选项使用就可以自动有uid
02.写dao层代码 注意
当DAO中方法参数多余一个时尽量使用Param注解进行修饰并指定名字然后再Mapper文件中便可以通过类似#{username}方式进行获取否则只能通过#{arg0}#{arg1}或者#{param1}#{param2}等方式进行获取。
当DAO方法中的参数应用在动态SQL中时无论多少个参数尽量使用Param注解进行修饰并定义。
Param的作用范围只能是被修饰的sql语句。 其中的代码是
/*** param username 查询条件(例如查询哪个用户的日志信息)* return 总记录数(基于这个结果可以计算总页数)*/Long getrownum( Param(username) String username);/*** param username 查询条件(例如查询哪个用户的日志信息)* param startIndex 当前页的起始位置* param pageSize 当前页的页面大小* return 当前页的日志记录信息* 数据库中每条日志信息封装到一个SysLog对象中*/ListsysLog fingall( Param(username)String username, Param(startIndex)Long startIndex, Param(pageSize)int pageSize);
03.mapper.xml映射文件。这里存放的是sql语句
?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttps://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.cy.dao.sysLogDaoselect idgetrownum resultTypeLongselect count(*) from sys_logswhereif testusername!null and username!username like concat(%,#{username},%)/if/where/selectselect idfingall resultTypecom.cy.pojo.sysLogselect * from sys_logswhereif testusername!null and username!username like concat(%,#{username},%)/if/whereorder by createdTime desclimit #{startIndex},#{pageSize}/select
/mapper优化xml文件sql语句中有重复的部分 whereif testusername!null and username!username like concat(%,#{username},%)/if/where可以使用标签sql来进行修饰 sql idqueryWhereIdfrom sys_logswhereif testusername!null and username!username like concat(%,#{username},%)/if/where/sqlsql标签需要用id来识别
进一步优化sql语句 用include标签进行插入操作 select idgetRowCountresultTypeintselect count(*)include refidqueryWhereId//selectselect idfindPageObjectsresultTypecom.cy.pj.sys.entity.SysLogselect *include refidqueryWhereId/
order by createdTime desclimit #{startIndex},#{pageSize}
/select