工程名字:宇通客车微信公众号平台
任务一:将数据库中表people的数据显示到网页上,并能够进行增删改查。
1、首先完成了将数据显示到网页上
遇到的问题:a、后台代码是封装好的,看了好久才明白一点点。
b、前台页面显示问题,比如说有些数据不存在,那么首先要先判断是否存在,比如说gender属性 [# if curret.gender??][#/if](curret是后台传到前台的对像)。
2、完成数据添加工作
问题:a、上个任务做好了,没有和项目经理沟通,直接做的,最后发现经理要的不是这个效果,这告诉我,做项目要及时和其他人沟通下一步怎么做,不然很多事情有可能都是无用功。
3、完成修改工作
问题:a、修改和添加用的是一个页面,必须选中一个才能修改,所以用到checkbox标签,但是选中之后,如何将id属性传给后台进行修改也是一个问题,最后用了weion.js工程里面已经写好的js插件,修改只能选择一个,没选择会有弹出框,多选择也会有弹出框
4、完成删除工作
问题:a、可以一次删除多个,后台会传过去好多个id,两个id之间有“,”,所以在后台要对id字符串进行处理,分解出好几个id,将其转换成一个数组,然后遍历,在便利过程中依次进行删除
任务二:同时显示peole和cmsion两个表中的数据,并进行增删改查
1、显示数据
问题:a、要重新写一个类,包含people和cmsion的全部属性。修改后台代码,将原来的对像换成新写的类,在dao层完成sql语句的拼接,用到左连接
2、添加
不变
3、修改
问题:a、还是只能修改people但是要将cmsion数据显示出来,在后台要添加一个方法,将cmsion数据查询出来,然后将数据显示到修改页面,并且显示的信息,只可读不可修改。
4、删除
问题:a、同时删除两个表的信息,在后台添加一个方法同时删除两个表的信息。
b、写代码命名要规范,让人一看就懂,事务的处理理解的不够好。
收获:
1、eclipse快捷键 Ctrl+shift+T 快捷搜索类
Ctrl+shift+R 搜索资源,包括html、js 等等
Cotrl+h 查询 *.java
2、freemark的简单使用
3、对代码的分层的理解加深,if(true)以及 if(false)语句在程序逻辑中是多余的,但是JAVA编译器把它们还是当作合法的语句对待的。因此,它们能够被用来帮助注释程序。在知道了它们的用处之后,在程序设计人员编制程序的时候,可以给调试者们以更多的选择。equalsIgnoreCase(String s)判断两个字符串是否相等,不区分大小写
4、jQuery选择器
5、sql语句左连接 示例select p.*,pc.*,su.USER_NAME ADMIN_USER_NAME from `ytdmp`.`ytdmp_people` p left join ytdmp_people_cmsone pc onp.people_id=pc.people_id left join weione_test.sys_user su on su.USERID=p.adminid
左连接同时写p.*,pc.*如果两个表中有相同的字段,就会出问题,所以要对一些相同的字段进行重命名
6、如何将一个表中所有数据设置为可读但是不可修改
<!-- 将 name="dis"的table中的 input,select,textarea设置为disbaled-->
<script type="text/javascript">
$('input,select,textarea',$('table[ name="dis"]')).attr('disabled',true);
</script>
7、[#if current_cmsone.userName??]
value="${current_cmsone.userName!}"
[/#if]
如果current_cmsone此对象为空,则运行不到“.userName”,所以仍然会报异常
正确的写法:将current_cmsone.userName用括号括起来
[#if (current_cmsone.userName)??]
value="${current_cmsone.userName!}"
[/#if]
8、相同的功能最好写到一个方法中,防止上一个方法出错影响下一个方法的运行。(加强对事务的理解)
9、sql解析:硬解析和软解析