连接数据库,并读取表里的内容
eclipse连接数据库的一般过程是:
1,加载JDBC驱动(jar驱动包自己去下,这里有导入jar到eclipse的方法Eclipse下导入外部jar包的3种方式)
2,建立数据库连接(Connection接口)
3,建立与执行SQL语句(Statement接口)
4,处理结果集(选择适当的接口)
5,关闭数据连接(这里要注意顺序,要先关小门后关大门)
表Student中内容:
上代码:
import java.sql.*;
public class Demo1 {
// 数据库地址,1433是SQLServer端口,数据库名称是Student
private static String dbUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=Student";
// 用户名
private static String dbUserName = "sa";
// 密码
private static String dbPassword = "0123456789";
// 驱动名称
//Mysql驱动语句是com.mysql.jdbc.Driver(这个具体的可以查到)
private static String jdbcName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
public static void main(String[] args) {
try {
Class.forName(jdbcName);
System.out.println("加载驱动成功!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("加载驱动失败!");
}
Connection con = null;
try {
// 获取数据库连接
con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
System.out.println("获取数据库连接成功!");
System.out.println("进行数据库操作!");
Statement statement = con.createStatement();
String sql = "select * from Student";
ResultSet rs = statement.executeQuery(sql);
while(rs.next()) {
System.out.println(rs.getString(1)+' '+rs.getString(2)
+' '+rs.getString(3)+' '+rs.getString(6));
}
rs.close(); //结果集关闭
statement.close(); //执行关闭
con.close(); //连接关闭
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//output:
大家可以试一试这个代码,我这里是SQLServer的,其他数据库相应的地方要改一下。数据库里的内容就不展示了,自己用到里面的表实现相应的功能就行。
有什么问题可以在下面留言。
实现封装
写过连接数据库代码的小老弟会发现,常常有很多重写的代码。
此时,我们就可以用到封装了,把重用的代码用一个类装起来。
我们先来建一个DButil类:
import java.sql.*;
public class DButil {
// 数据库地址
private static String dbUrl = "jdbc:sqlserver://localhost:1433;DatabaseName=Student";
// 用户名
private static String dbUserName = "sa";
// 密码
private static String dbPassword = "0123456789";
// 驱动名称
private static String jdbcName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
//获取数据库连接
public Connection getCon()throws Exception{
Class.forName(jdbcName);
//通过访问数据库的URL获取数据库连接对象
Connection con = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
return con;
}
public void close(Statement stmt,Connection con)throws Exception{
if(stmt != null){
stmt.close();
if(con != null) {
con.close();
}
}
}
}
再来测试一下这个类的功能。
这里我试一下statement接口中的executeUpdate方法。
查看API我们不难知道,
这个方法可以实现对数据库insert,delectable,update
这里我们就试一下插入操作。
上代码:
import java.sql.*;
import DButil.DButil;
public class Demo2 {
public static void main(String[] args) throws Exception {
DButil dbutil = new DButil();
String sql = "insert into Student values('19931206','张三','男','ZY10','洪山广场',null,'1.75',7)";
//获取数据库连接
Connection con = dbutil.getCon();
Statement stmt = con.createStatement();
int result = stmt.executeUpdate(sql);
System.out.println("操作的结果:"+result+"数据");
stmt.close(); //关闭Statement
con.close(); //关闭Connection
}
}
//output:
大家可以对比之前数据库中的表看,会发现插入数据成功了。
写在最后:原创不易,觉得对自己有帮助的小老弟,欢迎点赞评论~~~