JDBC数据库连接及使用

时间:2021-02-01 19:41:00

JDBC主要实现三大功能:
1.连接数据库:建立与数据库的连接需要先加载驱动程序,然后得到连接对象,可以通过两种方式实现:

方式一:使用JDBC-ODBC桥驱动程序,用下列代码加载
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:数据源名称";"sa";"");

方式二:使用API连接,可以用下列代码加载:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databasename=数据库名","sa","")

2.执行sql语句
执行sql语句主要使用两种接口:Statement与PreparedStatement

statement中的excuteQuery(string sql)方法可以执行select语句查询并返回结果集,而excuteUpdate(string sql)方法可以执行增删改建语句,并返回受影响的记录行数。
示例代码:
Statement st = con.createStatement();//con为创建的连接对象名
ResultSet rs = st.executeQuery("sql查询语句");//st为创建的Statement对象名
int n = st.excuteUpdate("增删改建语句");

PreparedStatement,预编译的Statement,可以使用“?”替代sql语句中的某些参数,他将带参数的sql语句发送到数据库,进行编译,然后PreparedStatement会将参数发送给数据库,在使用PreparedStatement时,在设置相应的参数时,要指明参数的位置和类型,并根据参数类型使用不同的set×××(参数的位置,参数值)来设置参数,示例代码如下:
PreparedStatement pst = con.PreparedStatement("sql语句");
pst.set×××("参数的位置,参数值");//注意参数位置从1开始
ResultSet rs = pst.executeQuery();//执行sql查询语句
int n = pst.executeUpdate();//执行增删改建语句

3.返回结果
 增删改建语句的返回结果是sql语句影响的记录行数,而查询语句返回一个结果集ResultSet,通过遍历这个结果集,可以获得select语句的查询结果,ResultSet的next()方法会操作一个游标从第一条记录前边开始读取,直到最后一条记录,get×××(列索引)可以提取当前行的相应列的值,×××根据要取值的数据类型确定,示例代码如下:
 while(rs.next())
{

 rs.get×××("列索引");
}

注意:1.使用后的各种对象,在执行后均应该关闭,但是,要按先ResultSet结果集,后Statement(PreparedStatement),最后Connection的顺序关闭资源。
    2.进行JDBC操作时,尽量把相关的操作封装到相应的类里面去实现,以实现重用性,提高不同模块间的聚合性,降低耦合性。