jeesite的使用(三)
上次说到关于自动生成的增删改查简单的操作的数据流向这次 看我用自己的代码去建立自己的功能的:
我以 院系表 班级表 学生表 教师表和课程表 为例下面是自建的表格信息:
修改一下表哈 在student表的添加一个studentNo字段
在mysql中建立好表开始
自己写代码了
先明确一下我的需求:
我需要呈现学生的基本信息列表 :包括 学生的院系 班级 学号 姓名 年龄 可以通过院系 班级 学号 年龄 单个或多个查询
好了现在开始了 :
先写好SQL语句:
可以使用自己平常用SQL也可以参考自动生成的代码的SQL我喜欢用后者:
在Navicat for MySql 新建一个查询
自己在各表中添加了一些数据自己写的Sql如上通过左连接可以把三个表连接在一起查到三个表的数据
当然你也可以不用左连接SQL 如下:
现在自动生成的HyReportDao.xml文件目录下新建一个StudentDao.xml 并把前者的数据复制过来(也可以自己打,如果你自己不嫌麻烦的话),然后清除掉不需要的数据如下:
参考自动生成的代码写一个SELECT 并把自己的SQL复制过来如下:
id 自己命名 resultType是对应的实体类 即下面你需要查找的字段
然后我们在自动生成的entity包中建一个Student的实体类:
如下:(图片中写错了 :字段名是和SQL里面的别名对应)
然后在自动生成的HyReportDao.java所在目录建一个StudentDao.java接口如下:
然后就是让SQL所在层和Dao接口层联系在一起了
只需要在sql所在层做如下修改就可以了:
然后怎么调用SQL呢 可以在StudentDao 接口层建一个方法名与select 的id 对应的 方法即可,具体如下:
现在SQL和D ao就连接在一起了,现在让我来连接 service层和Controller层
分别在两层中建StudentService.java 和StudentController .java 如下:
注意一下参考一下自动生成代码然后别忘记了注释(如:@Controller) 和继承相关类
现在写一下jsp页面:
在自动生成的JSP页面下建一个StudentList.jsp 内容全删除然后把自动生成的HyReportlist.jsp 的内容复制过来再自己修改成自己需要的 我修改后如下:
上面的JS 不动,当然你也可以删除以为上面是用来分页的函数(需要分页功能的话,给一个建议去看系统设置--用户管理的源码,然后比较有什么不同自己去尝试比我给你说的要好多了)
其他修改如上,先别理会为什么先往下面看:
回到contorller 然后写一个方法如下:
参考自动生成的代码 注意别忘了注释
上图有报错标志,把鼠标悬浮在上面点击 create Method 那个提示可以自动在S ervice层建一个与之连接的方法(你也可以自己直接到S ervice层去写这个方法)
这个方法是与之前 写的Dao层方法连接一起的
然后我们就可以到系统设置去配置一个菜单好菜单如下(菜单的设置在(一)):
保存以后然后
改一下JSP页面:
items=””引号里面是model.addAttribute("studentList", studentList);中引号里面的值
var=””引号里面是遍历的集合对象 就是实体类S tudent (不区分大小写,为了好识别最好小写)
然后就可以重新运行了效果图如下:
这样这个列表功能就完成了
下面来搞一下查询了,有上面的基础就好写了
先写JSP层如下:
加了一个表单 地址对应controller中value 的值为select的方法(它有自带的样式class="" 自己可以参考自动生成代码加上)
再写controller层如下:
然后service层
然后Dao层
传参的时候别忘了@Param(“studentName”), 也可以不加但是要保证和实体类中属性名相同(不是太肯定没试过但是同事用过可以用)
然后Dao.xml 层
我在原来方法里面加了条件test=” studentName”引号里面的studentName和#{studentName}里面的studentName都是和@Param(“studentName”)里面的对应的
你也可以重新写一个SELECT 不过ID和方法名要改一下而且还要一致
然后就可以实现查询功能了 好了介绍完了,关于jeesite的使用这就算介绍完了,要更好更快的实现功能的话就需要自己不断地尝试打代码了,我这个只是简单的介绍。