闲杂小记(一)

广告弹窗后台管理:


任务:

广告弹窗:

增:插入的开始事时间beginTime至少比当前时间早一个小时

删:逻辑删除,只修改状态isDelete的值为true

改:开始事件beginTime前一个小时前才能编辑(与增加时的限制是一样的)

查:按开始时间beginTime倒序


问题:

1:每次进行update操作是createTime会自动更新为当前时间

解决方案:将createTime的数据库数据类型改从timestamp为datetime


2:部分js方法不适用,框架自带的校验方法满足不了业务逻辑校验

解决方案:自定义校验方法

收获:

1:

<sql id="Base_Column_List" >
   advert_id,create_time,update_time,type,pic_path,target_url,begin_time,end_time,is_delete
</sql>
改为

<sql id="Base_Column_List" >
   ad.advert_id,ad.create_time,ad.update_time,ad.type,ad.pic_path,ad.target_url,ad.begin_time,ad.end_time,ad.is_delete
</sql>
目的是:方便以后做多表查询

2:

where 1=1 语句替华为

<where></where>标签

原因是:where 1=1 属于投机取巧的方式

3.

<insert id="add" parameterType="com.ibbpp.business.entity.AdvertHtml" useGeneratedKeys="true" keyProperty="advertId">
 INSERT INTO advert_html(create_time,update_time,type,pic_path,target_url,begin_time,end_time,is_delete)
 VALUES(now(), now(),#{type},#{picPath},#{targetUrl},#{beginTime},#{endTime},false)
</insert>
改为

<insert id="add" parameterType="com.ibbpp.business.entity.AdvertHtml" useGeneratedKeys="true" keyProperty="advertId">
 INSERT INTO advert_html(create_time,update_time,type,pic_path,target_url,begin_time,end_time,is_delete)
 VALUES(now(), now(),#{type,jdbcType=TINYINT},#{picPath,jdbcType=VARCHAR},#{targetUrl,jdbcType=VARCHAR},#{beginTime,jdbcType=TIMESTAMP},#{endTime,jdbcType=TIMESTAMP},false)
</insert>
原因是:忘了,但好像更规范一点

4:

<update id="update" parameterType="Object" >
改为

<update id="update" parameterType="com.ibbpp.business.entity.AdvertHtml" >
原因是:这样更为准确

5:

<insert id="add" parameterType="com.ibbpp.business.entity.AdvertHtml" useGeneratedKeys="true" keyProperty="advertId">
主键利用数据源库自增

6:

业务逻辑处理都写在service层,不应该写在Controller层

7:

public class AdvertHtmlService extends BaseService<AdvertHtml>
public class A<C> extends B<D>

此处的<C>为泛型申明,C则失去了对象的意义,不被识别为对象,<D>为泛型的使用,依然是个对象,会被识别为对象

8:

使用框架时对框架基类和js时,若需要新的方法,处理方式是:重写一个方法覆盖基类的方法,调用时调用自己的方法

9:

debug模式断点调试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值