分页查询SpringMVC+JDBCWord文档格式.docx
- 文档编号:18368807
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:16
- 大小:94.12KB
分页查询SpringMVC+JDBCWord文档格式.docx
《分页查询SpringMVC+JDBCWord文档格式.docx》由会员分享,可在线阅读,更多相关《分页查询SpringMVC+JDBCWord文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
importcom.liuzd.sj.entity.User;
importcom.liuzd.sj.service.UserService;
@Controller
@RequestMapping("
/user"
)
@SessionAttributes("
userList"
publicclassUserControllerextendsBaseController{
privateUserServiceuserService;
publicUserServicegetUserService(){
returnuserService;
}
@Resource
publicvoidsetUserService(UserServiceuserService){
this.userService=userService;
}
@RequestMapping("
/userList"
publicModelAndViewuserList(HttpServletRequestrequest){
StringBuilderquerySql=newStringBuilder();
querySql.append("
select*fromuserswhere1=1"
);
StringoracleQuerySql=querySql.toString();
//获取总条数
LongtotalCount=newLong(this.getUserService().pageCounts(oracleQuerySql));
//设置分页对象
Pagepage=executePage(request,oracleQuerySql,totalCount,"
iddesc"
ModelAndViewmv=newModelAndView();
//查询集合
List<
User>
users=this.getUserService().pageList(page.getQuerySql());
mv.addObject("
users);
mv.setViewName("
returnmv;
/addUser"
publicModelAndViewaddUser(HttpServletRequestrequest,Useruser){
System.out.println("
ADDUSER:
"
+user);
this.userService.addUser(user);
returnuserList(request);
/toAddUser"
publicStringtoAddUser(){
return"
addUser"
;
/delUser/{id}"
publicModelAndViewdelUser(@PathVariable("
id"
)Stringid,HttpServletRequestrequest){
this.userService.delUser(newUser().setId(id));
/getUser/{id}"
publicModelAndViewgetUser(@PathVariable("
)Stringid){
Useruser=this.userService.getUserById(newUser().setId(id));
ModelAndViewmv=newModelAndView("
updateUser"
user"
user);
/updateUser"
publicModelAndVieweditUser(Useruser,HttpServletRequestrequest){
编辑:
+user);
this.userService.editUser(user);
}
}
BaseController.java
importcom.liuzd.page.PageState;
importcom.liuzd.page.PageUtil;
/**
*Title:
*Description:
*Copyright:
Copyright(c)2011
*Company:
*Makedate:
2011-5-23下午03:
31:
03
*@authorliuzidong
*@version1.0
*@since1.0
*
*/
publicclassBaseController{
/**
*oracel的三层分页语句
*子类在展现数据前,进行分页计算!
*@paramquerySql查询的SQL语句,未进行分页
*@paramtotalCount根据查询SQL获取的总条数
*@paramcolumnNameDescOrAsc列名+排序方式:
IDDESCorASC
protectedPageexecutePage(HttpServletRequestrequest,StringquerySql,LongtotalCount,StringcolumnNameDescOrAsc){
StringoracleSql=PageUtil.createQuerySql(querySql,columnNameDescOrAsc);
if(null==totalCount){
totalCount=0L;
}
/**页面状态,这个状态是分页自带的,与业务无关*/
StringpageAction=request.getParameter("
pageAction"
Stringvalue=request.getParameter("
pageKey"
/**获取下标判断分页状态*/
intindex=PageState.getOrdinal(pageAction);
Pagepage=null;
/**
*index<
1只有二种状态
*1当首次调用时,分页状态类中没有值为NULL返回-1
*2当页面设置每页显示多少条:
index=0,当每页显示多少条时,分页类要重新计算
**/
PagesessionPage=getPage(request);
if(index<
1){
page=PageUtil.inintPage(oracleSql,totalCount,index,value,sessionPage);
}else{
page=PageUtil.execPage(index,value,sessionPage);
}
setSession(request,page);
returnpage;
privatePagegetPage(HttpServletRequestrequest){
Pagepage=(Page)request.getSession().getAttribute(PageUtil.SESSION_PAGE_KEY);
if(page==null){
page=newPage();
privatevoidsetSession(HttpServletRequestrequest,Pagepage){
request.getSession().setAttribute(PageUtil.SESSION_PAGE_KEY,page);
UserRowMapper.java
packagecom.liuzd.sj.dao;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importorg.springframework.jdbc.core.RowMapper;
publicclassUserRowMapperimplementsRowMapper<
{
publicUserRowMapper(){}
publicUsermapRow(ResultSetrs,intindex)throwsSQLException{
Useruser=newUser(
rs.getString("
),
name"
password"
address"
sex"
rs.getInt("
age"
);
returnuser;
UserDAOImpl.java
packagecom.liuzd.sj.dao.impl;
importjava.sql.PreparedStatement;
importorg.springframework.jdbc.core.BeanPropertyRowMapper;
importorg.springframework.jdbc.core.PreparedStatementSetter;
importorg.springframework.stereotype.Repository;
importcom.liuzd.sj.dao.UserDAO;
importcom.liuzd.sj.dao.UserRowMapper;
@Repository("
userDao"
publicclassUserDAOImplimplementsUserDAO
{
privatestaticfinalStringINSERT="
insertintousers(id,name,age,sex,address,password)VALUES(?
?
)"
privatestaticfinalStringUPDATE="
updateuserssetname=?
age=?
sex=?
address=?
password=?
whereid=?
"
privatestaticfinalStringGET="
select*fromuserswhereid=?
privatestaticfinalStringCHECK="
selectcount
(1)fromuserswherename=?
andpassword=?
privatestaticfinalStringSELECT="
select*fromusers"
privatestaticfinalStringDEL="
deleteuserswhereid=?
privateorg.springframework.jdbc.core.JdbcTemplatejdbcTemplate;
publicorg.springframework.jdbc.core.JdbcTemplategetJdbcTemplate(){
returnjdbcTemplate;
publicvoidsetJdbcTemplate(
org.springframework.jdbc.core.JdbcTemplatejdbcTemplate){
this.jdbcTemplate=jdbcTemplate;
publicvoidaddUser(finalUseruser){
getJdbcTemplate().update(INSERT,newPreparedStatementSetter(){
publicvoidsetValues(PreparedStatementps)
throwsSQLException{
inti=0;
ps.setString(++i,user.getId());
ps.setString(++i,user.getName());
ps.setInt(++i,user.getAge());
ps.setString(++i,user.getSex());
ps.setString(++i,user.getAddress());
ps.setString(++i,user.getPassword());
}
});
publicintcheckUserExits(Useruser){
returngetJdbcTemplate().queryForInt(CHECK,user.getName(),user.getPassword());
publicvoiddelUser(Useruser){
getJdbcTemplate().update(DEL,user.getId());
publicvoideditUser(finalUseruser){
getJdbcTemplate().update(UPDATE,newPreparedStatementSetter(){
publicList<
getAllUser(){
returngetJdbcTemplate().query(SELECT,newBeanPropertyRowMapper<
(User.class));
publicUsergetUserById(Useruser){
returngetJdbcTemplate().queryForObject(GET,newUserRowMapper(),user.getId());
publicintpageCounts(StringquerySql){
returngetJdbcTemplate().queryForInt("
selectcount
(1)from("
+querySql+"
pageList(StringquerySql){
returngetJdbcTemplate().query(querySql,newUserRowMapper());
UserDAOImpl2.java
importjava.util.Map;
importcom.liuzd.util.BeanToMapUtil;
userDao2"
publicclassUserDAOImpl2implementsUserDAO
insertintousers(id,name,age,sex,address,password)VALUES(:
id,:
name,:
age,:
sex,:
address,:
password)"
updateuserssetname=:
name,age=:
age,sex=:
sex,address=:
address,password=:
passwordwhereid=:
privateorg.springframework.jdbc.core.simple.SimpleJdbcTemplatesimpleJdbcTemplate;
publicorg.springframework.jdbc.core.simple.SimpleJdbcTemplategetSimpleJdbcTemplate(){
returnsimpleJdbcTemplate;
publicvoidsetSimpleJdbcTemplate(
org.springframework.jdbc.core.simple.SimpleJdbcTemplatesimpleJdbcTemplate){
this.simpleJdbcTemplate=simpleJdbcTemplate;
Map<
String,Object>
userMap=BeanToMapUtil.beanToMap(user);
getSimpleJdbcTemplate().update(INSERT,userMap);
publicintcheckUserExits(Useruser){
returngetSimpleJdbcTemplate().queryForInt(CHECK,user.getName(),user.getPassword());
public
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分页 查询 SpringMVC JDBC