Spring下jdbcTemplate增删改查总结
来源:互联网 发布:模糊算法的c语言实现 编辑:程序博客网 时间:2024/06/05 17:27
在使用Spring框架的系统中,增删改查操作是经常频繁的使用,也就是像我这样的新手经常做的CRUD操作,我经常使用到的是HibernateTemplate和JdbcTemplate来操作。对于Oracle数据库来说,使用HibernateTemplate操作很方便。最近换了SqlServer2008数据库,而且要处理分页。老大说使用jdbc直接操作,哎!有了hibernate,很少使用jdbc都快忘记了...
1.使用jdbcTemplate分页查询,注意sqlServer2008使用的是top分页操作:
2.jdbcTemplate下的增加记录操作
3.jdbcTemplate下的修改和删除操作
4.jdbcTemplate下的查询操作,介绍两种方法
4.1 使用RowMapper接口直接封装你要的对象为list
4.2 使用迭代器模式list.iterator()方法封装对象
总结:jdbcTemplate方法比较方便的操作数据库的增删改查,以上的信息可能有错误,欢迎大家指出。
1.使用jdbcTemplate分页查询,注意sqlServer2008使用的是top分页操作:
public List getList(String keywords,String startTime,String endTime,Pagenation pagenation){ String sqlAll="select * from message where 1=1"; String sql=""; String sqlTop="select top "+pagenation.getPageSize()+"* from message where id not in"+ " (select top "+pagenation.getStartRow()+" id from message )"; if(startTime !=null && !"".equals(startTime)){ sql+=" and createtime>='"+startTime+"'"; } if(endTime !=null && !"".equals(endTime)){ sql+=" and createtime<='"+endTime+"'"; } if(keywords !=null && !"".equals(keywords.trim())){ sql+=" and keywords like '%"+keywords.trim()+"%'"; } sql+=" order by createtime desc"; List listCount=this.jdbcTemplate.queryForList(sqlAll+sql);//记录的总数 pagenation.setRowCount(listCount.size());//RowMapper将从数据库查询出来的结果,并已经封装成message对象,再存入list容器 List list=this.jdbcTemplate.query(sqlTop+sql, new RowMapper(){ public Object mapRow(ResultSet rs,int rowNum) throws SQLException{ MessageSqlServer message=new MessageSqlServer(); message.setId(rs.getLong(1)); message.setCreator(rs.getString(2)); message.setTime(rs.getDate(3)); message.setTrsNum(rs.getLong(4)); message.setComNum(rs.getLong(5)); message.setContent(rs.getString(6)); return message; } }); return list; }}
2.jdbcTemplate下的增加记录操作
//不带参数的jdbcTemplate.update("insert into message values('1, '"你好 "',***)");//带参数的jdbcTemplate.update("insert into message values(?,?,***)", new Object[]{1,"你好",*** });//带参数,使用prepareStatementint id =101; String keywords="你好"; String ***="***"; jdbcTemplate.update("insert into message value (?, ?, ?, ?)", new PreparedStatementSetter() { public void setValues(PreparedStatement ps) throws SQLException { ps.setInt(1, id); ps.setString(2, keywords); ps.set***(3,***); } });
3.jdbcTemplate下的修改和删除操作
//表里有个字段status,0和1表示;不带参数;jdbcTemplate.update("update message set status=1 where id="+id+"");jdbcTemplate.update("delete from message where id="+id+"");//表里有个字段status,0和1表示;带参数;jdbcTemplate.update("update message set status=? where id=?", new Object[]{1,id });jdbcTemplate.update("delete from message where id=?",new Object[]{ id });//若要修改字段的类型,则使用jdbcTemplate.update(sql, new Object[]{id }, new int[]{Types.VARCHAR,Types.BIGINT })
4.jdbcTemplate下的查询操作,介绍两种方法
4.1 使用RowMapper接口直接封装你要的对象为list
public List getTaskList(){String sql="select * from task where status=0 order by id desc";List list =this.getJdbcTemplate().query(sql, new RowMapper(){ public Object mapRow(ResultSet rs, int rowNum) throws SQLException { Task task=new Task(); task.setId(rs.getLong(1)); task.setCreator(rs.getLong(2)); task.setStatus(rs.getLong(3)); task.setStartTime(rs.getDate(4)); task.setEndTime(rs.getDate(5)); task.setKeyWords(rs.getString(6)); return task; } }); return list;}
4.2 使用迭代器模式list.iterator()方法封装对象
public List getTaskList(){String sql="select * from task where status=0 order by id desc"; List taskList=new ArrayList(); List rows=this.getJdbcTemplate().queryForList(sql); Iterator it=rows.iterator(); while(it.hasNext()){ Map rs=(Map)it.next(); Task task=new Task(); task.setId((Long) rs.get("id")); task.setCreator((Long) rs.get("creator")); task.setStatus((Long) rs.get("status")); task.setStartTime((Date) rs.get("startTime")); task.setEndTime((Date) rs.get("endTime")); taskList.add(task); } return taskList;}
总结:jdbcTemplate方法比较方便的操作数据库的增删改查,以上的信息可能有错误,欢迎大家指出。
0 0
- Spring下jdbcTemplate增删改查总结
- Spring下jdbcTemplate增删改查总结
- spring jdbcTemplate 增删改查
- spring jdbctemplate的增删改查
- spring jdbctemplate的增删改查sample
- spring jdbcTemplate增删改查(转)
- jdbcTemplate增删改查
- 使用Spring框架下的JdbcTemplate 完成对数据库的增删改查操作
- jdbctemplate 增删查改sql
- JDBCTemplate实现增删查改
- Spring JdbcTemplate框架搭建及其增删改查使用指南
- Spring JdbcTemplate框架搭建及其增删改查使用指南
- Spring JdbcTemplate框架搭建及其增删改查使用指南
- 使用Spring JDBCTemplate进行增删改查curd操作
- JDBC Spring 之JdbcTemplate 增删改查操作
- JDBC Spring 之JdbcTemplate 增删改查操作
- Spring JdbcTemplate完成数据的增删改查
- Spring中jdbcTemplate实现增删改查操作
- 母牛的故事(递归或迭代实现)
- 数据结构实验之图论四:迷宫探索
- NOIP2011 选择客栈 解题报告(DP)
- mysql5.6添加用户出错 :Field 'ssl_cipher' doesn't have a default value
- 前端速学成财:第十二课-实战演练:用gulp像CMS那样生成新闻页面
- Spring下jdbcTemplate增删改查总结
- android弹窗使用总结,高仿QQ空间操作弹窗
- Android基础:shape的基本用法
- 禁止浏览器自动填充到表单
- 接口和抽象类的区别
- POJ - 2441 Arrange the Bulls (状态压缩DP)
- hdu 5857 Median ★
- UVALive 4487 - Exclusive-OR -并查集 虚根
- sae云平台发布微信应用——https获取微信accesstoken