在上篇博客自己封装的db 实现一个投票系统中 http://blog.csdn.net/seemyname/article/details/46861743 仅仅是完成了简单封装
在这边当中完成了和spring 进行整合 并且实现了bean 的映射
jar 包下载地址 http://download.csdn.net/detail/seemyname/8897717
以下指示给出关键代码 如何和spring 进行整合以及api 使用方式
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.1.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
<context:component-scan base-package="com.zhucheng.web" />
<mvc:annotation-driven />
<!-- 引入配置文件 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:db.properties" />
</bean>
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="driverClassName" value="${db.driver}" />
<property name="url" value="${db.url}" />
<property name="username" value="${db.username}" />
<property name="password" value="${db.password}" />
<!-- 初始化连接大小 -->
<property name="initialSize" value="${initialSize}"></property>
<!-- 连接池最大数量 -->
<property name="maxActive" value="${maxActive}"></property>
<!-- 连接池最大空闲 -->
<property name="maxIdle" value="${maxIdle}"></property>
<!-- 连接池最小空闲 -->
<property name="minIdle" value="${minIdle}"></property>
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="${maxWait}"></property>
</bean>
<!-- 这里引入jar 包定义的DBTemplate 就可以和spring 进行整合了简单吧 -->
<!-- 下面定义了DbUtils的一个模板操作Bean -->
<bean id="dbTemplate" class="com.zhucheng.database.DBTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 视图解释类 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" /><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 -->
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
</bean>
<!-- 对静态资源文件的访问 方案二 (二选一) -->
<mvc:resources mapping="/images/**" location="/images/" cache-period="31556926" />
<mvc:resources mapping="/js/**" location="/js/" cache-period="31556926" />
<mvc:resources mapping="/css/**" location="/css/" cache-period="31556926" />
</beans>
这个也很简单只要继承jar 包里定义的DBTemplate 就可以了具体查看jar 包来学习吧
package com.zhucheng.web.dao;
import java.sql.SQLException;
import java.util.List;
import com.zhucheng.database.DBTemplate;
import com.zhucheng.database.ZCQuery;
import com.zhucheng.database.exception.SQLCloseException;
import com.zhucheng.database.handler.BeanListHandler;
import com.zhucheng.web.model.Cs;
import com.zhucheng.web.model.Stu;
public class StuDao extends DBTemplate {
public List<Stu> list(int id) throws SQLException, SQLCloseException {
ZCQuery zc = new ZCQuery(dataSource);
List<Stu> stu = zc.query("select s.* from student s inner join class c on s.cid = c.id where c.id = ?",new BeanListHandler<Stu>(Stu.class),new Object[]{id});
return stu;
}
public List<Cs> listcs() throws SQLException, SQLCloseException {
ZCQuery zc = new ZCQuery(dataSource);
List<Cs> stu = zc.query("select * from class",new BeanListHandler<Cs>(Cs.class));
return stu;
}
}
需要指出 增删改 zc.update() 方法 查询zc.query()