一.数据库封装。
根据前面执行DQL和DDL语句,我们发现,在执行数据库操作中,数据库的链接以及关闭方法是相同的,那么,是不是可以将这两部分代码单独提取出来,需要链接时只需要调用就可以呢?
1.驱动加载
staticStringurl="jdbc:mysql://localhost:3306/test";
staticStringname="root";
staticStringpassword="root";
//静态代码块只加载一次
static{
try{
Class.forName("com.mysql.jdbc.Driver");
} catch( Exception e ) {
e.printStackTrace ( ) ;
throw newRuntimeException( e ) ; } }
2.数据库链接
public staticConnection getConnection( ) {
Connection connection = null ;
try{
connection=DriverManager.getConnection(url,name,password);
} catch ( Exception e ) {
e.printStackTrace( ) ; }
returnconnection; }
3.链接关闭
public static voidclose(Connection connection,Statement statement){
if(connection!=null){
try{
connection.close();
}catch(Exception e) {
e.printStackTrace(); }
System.out.println("关闭成功"); }
if(statement!=null){
try{
statement.close();
}catch(Exception e) {
e.printStackTrace( ) ; } } }
二.执行DML语句
1.调用jdbcUtil链接数据库
public static voidmain(String [] args){
Connection connection=null;
Statement statement=null;
try{
//调用jdbcUtil链接数据库
connection=jdbcUtil.getConnection();
//创建statement对象
statement=connection.createStatement();
}catch(Exception e) {
e.printStackTrace();
throw newRuntimeException(e) ; } finally{
//关闭链接
jdbcUtil.close(connection,statement) ; } }
2.ResultSet接口:用于封装查询出啦的数据
boolean next ()将光标移动到下一行
getXX()获取列的值
3.取值的三种方式
1).索引取值
int id=resultSet.getInt(1);
String name=resultSet.getString(2);
System.out.println("id:"+id+"姓名:"+name);
2.)名称取值
intid=resultSet.getInt("id");
String name=resultSet.getString("name");
System.out.println("id:"+id+"姓名:"+name);
3)遍历取值
while (resultSet.next()){
int id=resultSet.getInt("id");
String name=resultSet.getString("name");
System.out.println("id:"+id+"姓名:"+name); }