jessite 三

来源:互联网 发布:js 去除disabled 编辑:程序博客网 时间:2024/06/06 21:29

jeesite的使用(三)

上次说到关于自动生成的增删改查简单的操作的数据流向这次 看我用自己的代码去建立自己的功能的:



我以 院系表 班级表 学生表  教师表和课程表 为例下面是自建的表格信息:



修改一下表哈   在student表的添加一个studentNo字段

在mysql中建立好表开始

自己写代码了

先明确一下我的需求:

我需要呈现学生的基本信息列表 :包括 学生的院系 班级 学号 姓名 年龄  可以通过院系 班级 学号 年龄  单个或多个查询  


好了现在开始了 :

先写好SQL语句:

可以使用自己平常用SQL也可以参考自动生成的代码的SQL我喜欢用后者:

在Navicat for MySql 新建一个查询

自己在各表中添加了一些数据自己写的Sql如上通过左连接可以把三个表连接在一起查到三个表的数据

当然你也可以不用左连接SQL 如下:


现在自动生成的HyReportDao.xml文件目录下新建一个StudentDao.xml 并把前者的数据复制过来(也可以自己打,如果你自己不嫌麻烦的话),然后清除掉不需要的数据如下:

参考自动生成的代码写一个SELECT   并把自己的SQL复制过来如下:

id 自己命名  resultType是对应的实体类  即下面你需要查找的字段

然后我们在自动生成的entity包中建一个Student的实体类:

如下:(图片中写错了 :字段名是和SQL里面的别名对应)

学生实体类.png



然后在自动生成的HyReportDao.java所在目录建一个StudentDao.java接口如下:

学生Dao接口.png 

然后就是让SQL所在层和Dao接口层联系在一起了

只需要在sql所在层做如下修改就可以了:

修改后的DaoXML.png

然后怎么调用SQL呢   可以在StudentDao 接口层建一个方法名与select 的id 对应的 方法即可,具体如下:

学生DAO层自建方法.png

现在SQL和D ao就连接在一起了,现在让我来连接  service层和Controller层

分别在两层中建StudentService.java 和StudentController .java 如下:




注意一下参考一下自动生成代码然后别忘记了注释(如:@Controller) 和继承相关类




现在写一下jsp页面:

在自动生成的JSP页面下建一个StudentList.jsp 内容全删除然后把自动生成的HyReportlist.jsp 的内容复制过来再自己修改成自己需要的 我修改后如下:

 上面的JS 不动,当然你也可以删除以为上面是用来分页的函数(需要分页功能的话,给一个建议去看系统设置--用户管理的源码,然后比较有什么不同自己去尝试比我给你说的要好多了)

其他修改如上,先别理会为什么先往下面看:

 回到contorller 然后写一个方法如下:

Controller自写的方法.png

参考自动生成的代码 注意别忘了注释


上图有报错标志,把鼠标悬浮在上面点击   create  Method 那个提示可以自动在S ervice层建一个与之连接的方法(你也可以自己直接到S ervice层去写这个方法)

Service 自写的方法.png

这个方法是与之前 写的Dao层方法连接一起的


然后我们就可以到系统设置去配置一个菜单好菜单如下(菜单的设置在(一)):

保存以后然后

改一下JSP页面:

学生列表JSP.png

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的使用这就算介绍完了,要更好更快的实现功能的话就需要自己不断地尝试打代码了,我这个只是简单的介绍。


原创粉丝点击