spring中使用jdbc

来源:互联网 发布:管理学的时间矩阵 编辑:程序博客网 时间:2024/05/16 14:50
当我向我的一个朋友推荐spring+hibernate+Struts这个模式时,他提供出一些看法。虽然他接受了我的spring推荐,但还是认为使用hibernate太麻烦,并问能否在spring中使用jdbc。我说,那好吧。我来写个例子吧。以下就是这个例子,注意这只是个例子,功能很弱且只是代码和配置,没有讲解。
一,spring配置applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>

     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
           <property name="driverClassName">
                 <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
           </property>
           <property name="url">
                 <value>jdbc:microsoft:sqlserver://192.168.0.18:1433</value>
           </property>
           <property name="username">
                 <value>sa</value>
           </property>
           <property name="password">
                 <value>jfc</value>
           </property>
     </bean>
     
     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" abstract="false" singleton="true" lazy-init="default" autowire="default" dependency-check="default">
           <property name="dataSource">
                 <ref local="dataSource" />
           </property>
     </bean>
     
     <bean id="userDAO" class="com.yang.spring.jdbc.UserDAO" abstract="false" singleton="true" lazy-init="default" autowire="default" dependency-check="default">
           <property name="jdbcTemplate">
                 <ref bean="jdbcTemplate" />
           </property>
     </bean>

</beans>

二,UserDAO.java

/**
*
*/
package com.yang.spring.jdbc;

import java.util.List;

import org.springframework.jdbc.core.support.JdbcDaoSupport;

/**
* @author lanxincao
*
*/
public class UserDAO extends JdbcDaoSupport {
     public List getAllUserList() {
           logger.debug("getting all users");
           try {
                 return getJdbcTemplate().queryForList("select userid,username,password from [books].[dbo].[user]");
           }catch (RuntimeException re) {
                 logger.error("getting users failed",re);
                 throw re;
           }
     }
     public int saveOrUpdate(String sql,Object[] params,int[] types){
           logger.debug("save or update database");
           try {
                 return getJdbcTemplate().update(sql,params,types);
           } catch (RuntimeException re) {
                 logger.error("save or udpate database failed");
                 throw re;
           }
     }

}

三,测试类Main.java

/**
*
*/
package com.yang.spring.jdbc;

import java.util.Map;
import java.util.Iterator;


import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
* @author lanxincao
*
*/
public class Main {

     /**
      * @param args
      */
     public static void main(String[] args) {

           ApplicationContext ctx = new ClassPathXmlApplicationContext("/com/yang/spring/jdbc/applicationContext.xml");
           UserDAO userDAO = (UserDAO)ctx.getBean("userDAO");
           Iterator iterator = userDAO.getAllUserList().iterator();
           System.out.println("user   password");
           while(iterator.hasNext()){
                 Map user = (Map)iterator.next();
                 System.out.println(user.get("username")+"   "+user.get("password"));
           }
     }

}

附注:如果可以,希望还是用hibernate。这个写总觉得有点不顺。使用hibernate也不会增加学习成本。呵呵。
  
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 炖芸豆咸了怎么办 铁锅炒菜菜发黑怎么办 红豆沙馅太稀了怎么办 买的豆沙馅太稀怎么办 做的豆馅稀了怎么办 包豆沙包馅稀了怎么办 软件自定义权限重名怎么办 窗户外有垃圾桶怎么办 菜地里有蚂蚁怎么办 灯光吸引的飞虫怎么办 广告机格式化了怎么办 proe约束冲突了怎么办 中午考试想睡觉怎么办 喝了红茶睡不着怎么办 考试前状态不好怎么办 考前紧张睡不着觉怎么办 通宵失眠第二天怎么办 考试前睡不着觉怎么办 一到晚上睡不着怎么办 明天考试听力差怎么办 天天晚上睡不着觉怎么办 因紧张睡不着觉怎么办 房卡找不到了怎么办 马代不会英文怎么办 剩下的蒸米饭怎么办 临时牌照违法了怎么办 打12345不管用怎么办 省政府改变了中央文件怎么办 应聘时学历不够怎么办 做导游学历不够怎么办 市长热线打不通怎么办 12315网站不受理怎么办 法律文书生效前转后财产怎么办 打12345投诉没用怎么办 单位医保停了怎么办 iphonex开不了机怎么办 会计证三年没检怎么办 银行工作人员态度不好怎么办 生殖保健服务证怎么办 关机后自动开机怎么办 大连卖房户口怎么办