1 异常处理的原则 有了异常不要吞掉,应该把它throws出去,交给上层进行处理 throw RuntiemException(提示信息 e) 2 使用preparedStatement的好处。将sql语句和参数隔离开,便于维护,防止sql注入(出于安全考虑) 3 加载配置文件properties文件,该文件放在src平级的Source Folder下 获取文件,InputStream inputstream=类名.class.getResourceAsStream(“配置文件目录”) properties prop=new properties()。加载prop.load(inputStream);在传值prop、getproperty(属性名) 方法加入到静态块,每次运行jdbcUtil类 加载一次
常见分页实现方式
。。。。。。。。。。。。。。
在sevice层里面调用dao层里的方法,而service层本身又有一个方法为findStudent,返回的结果result就是dao层里面的方法的返回值result.
如何创建一个接口类的对象:
StudentDao(接口) studentDao(对象)=new SubListStudentDaoImpl()(接口的实现类);
无论是哪一种分页方式,最终都是得到Pager的所有属性,并组装成Pager对象给result.
1.在SubListStudentDaoImpl类中创建一个自定义方法getAllStudent(),获取所有学生数据,后续(下一节)再在该类中(SubListStudentDaoImpl类)调用该方法,得到返回值allStudentList,注意方法只有被调用后才能够使用,最后放在findStudent()方法中。
2.getAllStudent()方法包含findResult()方法,其中findResult()方法是从数据库中查询的方法,返回的是map类型的学生对象,将它转化为Student类型,并将它添加到查询结果result中。
1.先调用上一节中的getAllStudent()方法,获取所有学生数据。在上一节中查询结果为result,在这里调用的时候List<Student> allStudentList=getAllStudent(searchModel),返回值不写result,写allStudentList。
2.在SublistStudentDaoImpl里面调用了构造方法Pager()。并将所有学生数据allStudenList作为参数传入。
Pager<Student>pager =new Pager<Student>(pageNum,pageSize,allStudenList).创建新对象的过程就是调用构造函数的过程。
3.SubListStudentDaoImpl类的功能是得到Pager对象,是业务处理的关键,调用getAllStudent()的目的是为了给Pager<Student>对象传参
pageNum理解为当前页,dateList指一页的数据
List<T> dataList,在这里使用了泛型,用T作为泛型参数,后期在使用它的时候再传入具体的数据类型,例List<student> dataList,即集合中存放student类型的参数。另外在Pager<T>,也指定了泛型,使用泛型便于后期扩展,现在是存student对象,后期可能存teacher,在Pager类上使用泛型标识,这样Pager就可以适用于所有需要从数据库获取分页数据的类
servlet调用service中实现类的实例化对象的方法,service中调用dao层实现类的实例化对象的方法,service中实现类的实例化对象的方法里包含dao层实现类的实例化对象的方法, 这样就间接实现了servlet调用dao层里面的方法。另外,第一步先写service和dao接口
分页sql
Oracle分页语句
分页项目实战
分页项目实战
常见的分页实现方式:
1. list 接口中subList(int startIndex,int endIndex)方法实现分页
2.使用sql语句实现分页 使用关键字 mysql用limit oracle使用rownum
3.使用hibernate等框架实现跨数据库的分页
创建query或者criteria对象 查询时设置firstResult和maxResults属性
dataList数据集合
github分页插件
https://github.com/gbirke/jquery_pagination
常见的分页实现方式
类的关系图
servle对象要实现它的功能会间接的使用service,其实功能是在service里完成的
后台逻辑写到servlet对象里
List中起始索引是从0开始的
利用控制台敲入命令或者可视化的工具来执行sql文件
使用subList()实现分页实例
类的关系图