转载,请注明出处http://blog.csdn.net/qq_25615395/article/details/78105201
前言:
使用的基础就是当前系统已经有一个数据库了,当应用启动的时候,利用Spring的Bean管理可以拿到数据库连接的DataSource,在根据这个对象,获取连接,获取Statement,在进行执行sql语句。
在这里我是用的是dbcp的数据库连接池为例子。
经测验使用德鲁伊数据库依然可以使用。附上德鲁伊dataSource配置
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
/**
* 操作数据库操作
* <p>
* Created by Liuzq on 2017/9/26.
*/
public class OperateDBUtil {
/**
* 创建数据库
*
* @param dbName 数据库名
*/
public static void createDB(String dbName) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring/spring-config.xml");
DataSource ds = (DataSource) context.getBean("dataSource");
Connection connection = null;
Statement statement = null;
try {
connection = ds.getConnection();
statement = connection.createStatement();
String sql = "CREATE DATABASE IF NOT EXISTS " + dbName + " DEFAULT CHARACTER SET UTF8";
statement.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
* 删除数据库
*
* @param dbName 数据库名字
*/
public static void dropDB(String dbName) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring/spring-config.xml");
DataSource ds = (DataSource) context.getBean("dataSource");
Connection connection = null;
Statement statement = null;
try {
connection = ds.getConnection();
statement = connection.createStatement();
// 执行删除命令
String sql = "DROP DATABASE IF EXISTS " + dbName;
statement.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
statement.close();
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
德鲁伊DataSource的配置,这里的数据库名字是使用的是系统环境配置的
<!-- 德鲁伊数据库连接池 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close">
<property name="url" value="jdbc:mysql://192.168.1.16:3306/#{systemEnvironment['VSYS_DB']}?characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="mysql" />
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="maxActive" value="10" />
<property name="minIdle" value="5" />
</bean>
如果有哪里写的不对,请留言指出。