Spring JDBC应用
来源:互联网 发布:十年前你错过了淘宝 编辑:程序博客网 时间:2024/06/05 23:40
老总提出新的需求,要直接用xml文件来写CRUD,所以原先的SSI中的JavaBean不能再写了,ibatis也要废除,以后spring也可能要替换掉。所以,ibatis首当其冲,我自己要解析xml文件,其实是实现一部分ibatis的功能。
鉴于xml文件中直接写sql语句,所以若要利用好spring,则需要用spring JDBC来执行sql语句。因此,首先就要自己搭建一套Spring JDBC。流程如下:
1、配置文件中dataSource、JdbcTemplate配置好
<bean id="defaultDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"><property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property><property name="url"><value>jdbc:mysql://localhost:3306/train?useUnicode=true&characterEncoding=gb2312</value></property><property name="username"><value>root</value></property><property name="password"><value>nowerbupt</value></property></bean><bean id="defaultJdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref bean="defaultDataSource"/> </property> </bean><bean id="defaultJdbcDao" class="com.test.spring.jdbc.JdbcDao"> <property name="jdbcTemplate"> <ref bean="defaultJdbcTemplate" /> </property></bean>2、定义自己的JdbcDao,这里继承了JdbcDaoSupport,它对JdbcTemplate进行了封装
public class JdbcDao extends JdbcDaoSupport implements IJdbcDao{public Object executeQuery(String sql, Object[] paras){return getJdbcTemplate().query(sql, paras,new ResultSetExtractor() {public Object extractData(ResultSet rs) throws SQLException, DataAccessException {while (rs.next()) {Object[] obj = new Object[20];for (int j = 1; j <= rs.getMetaData().getColumnCount(); j++) {String columnName = rs.getMetaData().getColumnName(j);obj[j - 1] = rs.getObject(j);System.out.println(columnName + ":" + obj[j-1]);}}return null;}});}public int update(String sql, Object[] paras){return getJdbcTemplate().update(sql, paras);}}3、测试
public class Main {public static void main(String [] args){ApplicationContext cont = new ClassPathXmlApplicationContext("com/test/spring/jdbc/test-db.xml");//String s= cont.getBean("&factorybean1",String.class);JdbcDao dao = (JdbcDao) cont.getBean("defaultJdbcDao");System.out.println(dao.getClass());//String sql = "select count(*) from cati_answer_20130913";// where stream_number='CCzLNHBFH20131008155535204NAvZuG'Object [] paras = new Object[]{};dao.executeQuery(sql, paras);String sql2 = "delete from cati_answer_20130913 where stream_number=?";Object [] paras2 = new Object[]{"oC8rHI6rD201310141736442470C27oI"};int res = dao.update(sql2, paras2);//System.out.println("update result:" + res);}}
0 0
- Spring JDBC应用
- spring JDBC 的web 应用
- 3、spring之jdbc 应用
- spring中JDBC的应用
- Spring中JDBC Template的应用举例
- Spring JDBC原理与应用实例讲解
- spring 中jdbc模板模式应用
- Spring JDBC
- spring+JDBC
- Spring JDBC
- spring + jdbc
- Spring JDBC
- spring+jdbc
- spring+jdbc
- Spring JDBC
- Spring JDBC
- Spring JDBC
- Spring JDBC
- EhCache
- 小谈achartengine绘图
- fedora安装kde桌面
- NHibernate 3 查询APIQueryOver
- 从新女同事说百度搜索的问题和方向
- Spring JDBC应用
- FFMPEG源码分析(1)--再版--持续更新
- 黑马程序员 Java基础学习笔记9 类
- Fedora 18使用iso DVD做镜像源yum安装软件,适合无网装软件或者网速较慢的情况
- 嵌入式文件系统
- 那些年敲过的命令
- test
- 【安卓笔记】Handler,Looper,MessageQueue,Message源码分析
- jquery 树结构组件 ------ zTRee