同事让写一个直接能从数据库查询数据的示例,有些操作需要从数据库读取数据,每次从PLSQL里面查询后再写到代码里面实在是费事。
直接写JDBC感觉太麻烦了,鉴于是测试,直接使用JdbcTemplate会更好一些。
需要如下的一些JAR包:
连接Oracle的驱动包ojdbc6-11.2.0.1.0.jar
连接池包commons-pool-1.5.4.jar,commons-dbcp.jar
Spring支持包spring-jdbc-3.2.3.RELEASE.jar,springside-core-4.1.1-SNAPSHOT.jar,spring-tx-3.2.3.RELEASE.jar,spring-beans-3.2.3.RELEASE.jar
日志支持commons-logging-1.0.4.jar
代码使用,创建连接池,初始化JdbcTemplate,执行查询:
import java.util.List;
import java.util.Map;
import org.apache.commons.dbcp.BasicDataSource;
import org.springframework.jdbc.core.JdbcTemplate;
public class JdbcInit {
public static JdbcTemplate jdbcTemplate = null;
public static void init(){
try {
BasicDataSource base = new BasicDataSource();
base.setDriverClassName("oracle.jdbc.OracleDriver");
base.setUrl("jdbc:oracle:thin:@localhost:1521:orcl");
base.setUsername("name");
base.setPassword("pass");
base.setInitialSize(1);
base.setMaxActive(5);
jdbcTemplate = new JdbcTemplate(base);
} catch (Exception e) {
e.printStackTrace();
}
}
public static List<Map<String, Object>> queryBySQL(String sql){
return JdbcInit.jdbcTemplate.queryForList(sql);
}
public static void main(String[] args) {
init();
List<Map<String, Object>> list = queryBySQL("select 'AAAAA' as A from dual");
Map<String, Object> map = list.get(0);
System.out.println(map.get("A"));
}
}
至于JdbcTemplate的一些其他操作,请找度娘。