JDBC是java database connectivity的缩写
简单来说就是利用java来与数据库进行链接的技术
很多框架内都已经封装了jdbc,比如hibernate和mybatis,简化了jdbc
一共有几个步骤和代码需要来做
一,有自己的数据库和表,并且对该表十分熟悉
二,编写jdbc相关代码
2.1导入mysql的jar包并在工程内build path(eclipse)
因为我是使用的mysql数据库,所以是使用mysql的jar包
下载地址是
https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.0.8
这个地址是maven仓库的地址,当然他在后面我们学习别的内容的时候也会使用到
2.2在代码内利用反射首先注册驱动
Class.forName(“com.mysql.jdbc.Driver”);
注意,这里的注册驱动不是必要的,DriverManger源码中注释有这样一行
原址:https://blog.csdn.net/Mars_idea/article/details/80754757
2.3获取数据库的链接
Connection con =
DriverManger.getConnection(
“jdbc:mysql://localhost:3306/数据库名?charactorEncoding=utf-8”,账号,密码);
如果不是链接的本地数据库,则需要将地址做更改
jdbc:mysql://链接地址:端口号/数据库名
若使用的是3306端口则可以省略
2.4获取传输器(声明)
Statement sta = con.createStatement();
2.5利用传输器发送sql语句,返回执行结果
String sql = “select * from table_name”;
这个字符串内不能放分号
ResultSet resu = sta.executeQuery(sql);
这里的方法,executeQuery只是用于对查询数据库的方法,如果是增删改,那么只用
executeUpdate()方法即可
然后输出就好了
2.6输出结果集
while(resu.next()){}
先查看数据库列名,然后对诸多想要获得数据的列名获取数据即可
2.7释放资源
resu.close(); sta.close(); con.close();
2.8对释放资源的代码优化
因为这个释放资源要抛出异常,且对这个代码要复用
所以将代码写成静态的工具类,到时候用的时候直接调用就好了
所以写成
public static void 方法名(Statement state,Connection con,ResultSet resu){
if(state != null){
try{
state.close();
}catch(Exception e){
e.printStackTrace();
}finally{
state = null;
}
}
if(con != null){
try{
con.close();
}catch(Exception e){
e.printStackTrace();
}finally{
con = null;
}
}
if(resu != null){
try{
resu.close();
}catch(Exception e){
e.printStackTrace();
}finally{
resu = null;
}
}
}