最近学习了JDBC链接数据库的知识,自己的程序终于能链接上数据库了,也不用再写一写死数据了。感觉程序突然就有了灵魂,于是开心的我就来写下自己的学习心得。
JDBC链接数据库
JDBC-Java DataBase Connectivity
java链接数据库
Connection conn = null;
try {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//配置信息
conn = DriverManager.getConnection("jdbc:mysql//localhost:3306/test?userSSL=false","root","123456"); //test 为数据库名
//发送执行
Statement create = conn.createStatement();
//准备sql
String sql = "select *from student";
//执行
create.executeQuery(sql);
} catch (Exception e) {
// TODO: handle exception
}finally{
try {
//关闭连接
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
上面便是获取数据库链接的基本方法,但多次向数据库获取连接会导致数据库卡死,为了解决这种问题数据库连接池应运而生,
数据库的连接池有很多种,这里以Druid为例展示简单的连接池运用。
首先将Druid的jar包导入项目,然后准备一个文档用于写入数据的配置信息,通常后缀名为config或propertis,在里面以键
值对的方式写入数据库的配置
然后便可以向数据库获取连接了,因为连接池中会有多条连接,但是连接池只会有一个,所以选择将连接池设置为静态的常量
//准备连接池
public static final DruidDataSource ds = new DruidDataSource();
static {
try {
//获取输入流
InputStream is = new FileInputStream("data_info.config");
//获取文件信息
Properties ps = new Properties();
ps.load(is);
//配置数据库相关信息
ds.setUsername(ps.getProperty("user"));
ds.setUrl(ps.getProperty("url"));
ds.setPassword(ps.getProperty("pwd"));
ds.setDriverClassName(ps.getProperty("driver"));
//设置最大连接数,这里设置是为了连接池不会崩盘
ds.setMaxActive(10000);
ds.setMaxEvictableIdleTimeMillis(1000);
ds.setMinIdle(10000);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConn() {
try {
//返回连接
return ds.getConnection();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
这样你的程序便可以调用getConn这个方法获取一个连接并操作数据库了,JDBC是一个非常重要的知识点,目前我所掌握的JDBC知识尚不齐全,希望与大家一起分享并学习。