关于jdbctemple的快速用法
项目有些时候需要自己写个demo然后批量导入数据,但是这部分代码并不能合并到主干代码上面(src目录下的main),一般只能放到(src目录下的test)
这个时候写配置文件就没有必要,而且还得配置半天,这种一次性配置通常不考虑写配置文件。
我们就可以直接用datasource构造一个jdbctemplate
datasource构造的时候赋四个值
数据库URL,驱动名,用户名,密码
然后就可以直接使用jdbctemplate对象直接操作数据库了
DataSource dataSource=new DataSource();
dataSource.setDriverClassName("");
dataSource.setPassword("");
dataSource.setUrl("");
dataSource.setUsername("");
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
jdbcTemplate.update(sql,new Object[]{});
注意datasourse也有setName这个方法,千万不搞错了,不然就会非法用户名跟密码
不过这里会有一个问题,建立的连接太多,或出现超时并且断开连接,这个时候就要进行详细的配置比较好
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: The Network Adapter could not establish the connection
下面附上详细配置的代码
dataSource.setDriverClassName("");
dataSource.setPassword("");
dataSource.setUrl("");
dataSource.setUsername("");
dataSource.setInitialSize(20);
dataSource.setMaxIdle(30);
dataSource.setMinIdle(10);
dataSource.setMaxActive(50);
dataSource.setMaxWait(3000);
dataSource.setLogAbandoned(true);
dataSource.setRemoveAbandoned(true);
dataSource.setRemoveAbandonedTimeout(180);
dataSource.setTestWhileIdle(true);
dataSource.setValidationQuery("select 1 from dual");
dataSource.setTestOnBorrow(true);
dataSource.setMinEvictableIdleTimeMillis(600000);
dataSource.setTimeBetweenEvictionRunsMillis(300000);
设置完之后数据库就能正常连接,直到程序结束而不会中途断开数据库连接