接到一个需求,在某操作(这个是gen代码自动生成的,比如导入)后,需要对这个操作进行记录,并且可以根据记录信息将本次导入影响数据进行删除。需要应用记录操作的表大概有100多个。
分析:
1,首先想记录操作的表要有一个批次号字段,其次要有一个另外的表记录这个批次号。
2,可以使用AOP编程来实现,AOP解决了记录的时机和位置,还需要使用反射获取切入点的信息,从而进行加料操作。
未完———待续————周末有时间再写——————先记录几个遇到的问题————————
1,切入点表达式
2,自定义注解
3,JoinPoint类和Signature类
4,时间格式化到毫秒(Java 和 sql 的不同)
5,可能存在的并发bug:通过时间和用户来确定影响的数据
6,Mybatis $和#的实际使用场景,如果表名不确定,需要传参进去(这个传参的参数是我自己生成的,不是前端页面传进来的),需要使用${},不要使用#{}
7,正则:未解决的一个问题,使用代码实现了。
8,获取表字段,这个mysq很简单,desc即可,我现在用的数据库有点麻烦。
9,mybatis的注解和XML使用权衡
10,事务回滚



