页面查询案例(使用redis数据库)
需求:
1.提供一个index.html页面,页面中有个省份,下拉列表
2.当页面加载完成时,发送ajax请求。加载所有省份
前期项目初步搭建:
index.html
$(function(){ $.get("url",{},funtion(data){ //url-查询servlet路径,{}不要参数,data为返回的数据,填充到省份列表中 //因为有查询数据库因此有三层架构service(findProvinceServlet)-service(ProvinceService)-dao(ProviniceDao)查询数据库 })})
ProvinceDao
1.声明JDBCTemplate,查询数据库
2.返回查询的值(List集合)
ProvinceService
1.声明dao
2.通过Dao返回查询所有的结果集
findProvinceServlet
1.调用service完成查询,返回List<Province>
2.将数据返回,因为采用的是Ajax请求,因此需要将数据序列化Json
3.响应
整体代码:
index.html
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="js/jquery-3.3.1.min.js"></script> <script> $(function () { $.get("provinceServlet",{},function (data) { var province=$("#province"); $(data).each(function () { var option="<option name='"+this.id+"'>"+this.name+"</option>"; province.append(option); }); }); }); </script></head><body> <select id="province"> <option>---请选择省份---</option> </select></body></html>
ProvinceDao.java
package cn.stormtides.dao.impl;import cn.stormtides.dao.ProvinceDao;import cn.stormtides.domain.Province;import cn.stormtides.util.JDBCUtils;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import java.util.List;public class ProvinceDaoImpl implements ProvinceDao { //声明成员变量 private JdbcTemplate template=new JdbcTemplate(JDBCUtils.getDataSource()); @Override public List<Province> findAll() { String sql="select * from province"; List<Province> list = template.query(sql, new BeanPropertyRowMapper<>(Province.class)); return list; }}
ProvinceService.java
package cn.stormtides.service.impl;import cn.stormtides.dao.ProvinceDao;import cn.stormtides.dao.impl.ProvinceDaoImpl;import cn.stormtides.domain.Province;import cn.stormtides.jedis.util.JedisPoolUtils;import cn.stormtides.service.ProvinceService;import com.faster
findProvinceServlet.java
package cn.stormtides.web.servlet;import cn.stormtides.domain.Province;import cn.stormtides.service.ProvinceService;import cn.stormtides.service.impl.ProvinceServiceImpl;import com.faster
完整代码