JDBC总结

JDBC

JDBC编程的六步

  1. 注册驱动
  2. 获取连接
  3. 获取数据库操作对象
  4. 执行sql
  5. 处理查询结果集
  6. 释放资源
/*
	提供了注册驱动的第一种方式
*/
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;

public class JDBCTest01{
    public void main(String[] args){
        Connection con = null;
        Statement st = null;
        try{
            //注册驱动
            Driver driver = new com.mysql.jdbc.Driver();
            DriverManager.getRegister(driver);
            //获取数据库操作对象
            String url = "127.0.0.1:3306/bjpowernode";   //其中bjpowernode是数据库中的表名
            String user = "root";
            String passwd = "123456";
            con = DriverManager.getConnection(url,user,passwd);
            //获取数据库操作对象
            st = con.CreateStatement();
            //执行sql
            String sql = "insert into dept(deptno,dname,loc values(150,'人事部','北京'))";
            int count = st.executeUpdate(sql);
            System.out.println(count == 1 ? "操作成功":"失败");
            
        }catch(SQLException e){
            e.printStackTrace();
        }finally{
            //释放资源,遵循从小到大依次关闭
            try{
                if(st != null){
                    st.close();
                }
            }catch(SQLException e){
                e.printStackTrace();
            }
            try{
                if(con != null){
                    con.close();
                }
            }catch(SQLException e){
                e.printStackTrace();
            }
        }
    }
}

/*
	1、提供注册驱动的第二种方式:类加载的方式
	  加载类中的静态方法+使用反射机制
	2、通过资源绑定器绑定属性配置文件来获取url、user、passwd等相关信息
*/
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.util.*;

public class JDBCTest02{
    public void main(String[] srgs){
        //使用资源绑定器绑定属性配置文件(jdbc.properties)
        ResourceBundle bundle = ResourceBundle.getBundle("jdbc");
        String url = bundle.getString("url");
        String user = bundle.getString("user");
        String passwd = bundle.getString("passwd");
        //变量声明
        Connection con = null;
        Statement st = null;
        ResultSet rs = null;
        try{
            // 1、注册驱动
        	Class.forName("com.sql.jdbc.Driver");
        	// 2、获取连接
       		con = DriverManager.getConnection(url,user,passwd);
            // 3、获取数据库操作对象
            st = con.createStatement();
            // 4、执行sql
            String sql = "select empno as no,ename as name,sal as s from emp";
            rs = st.executeQuery(sql);  //此处是查询,注意是Query
            // 5、处理查询结果集
            while(rs.next != false){
                String empno = rs.getString("no");   //可以使用别名获取数据
                String ename = rs.getString("name");
                String sal = rs.getString("s");
                //参数写数字也可
                //String empno = rs.getString(1); 
                //String ename= rs.getString(2); 
                //String sal = rs.getString(3);
                System.out.println(empno + ","+ename+","+sal);
            }
        }catch(SQLException e){
            e.printStackTrace();
        }finally{
            try{
                if(rs != null){
                    rs.close();
                }
            }catch(SQLException e){
                e.printStackTrace();
            }
            try{
                if(st != null){
                    st.close();
                }
            }catch(SQLException e){
                e.printStackTrace();
            }
            try{
                if(con != null){
                    con.close();
                }
            }catch(SQLException e){
                e.printStackTrace();
            }
        }
    }
}

关于结果集(ResultSet)的说明:

1、对于执行了DQL(Data Query Language),才有查询结果集
2、对于next(),最开始指向第一行数据的上面一个位置,执行了rs.next()之后才指向了第一条记录
3、getString()的特点:不管数据库中的数据是什么类型,取出来的数据都是字符串形式的;同理,    getInt()取出来额就是int类型的。
4、getString()这个方法的参数:不仅可以是数字,还可以是列名,如果对列进行了重命名,需要写新的名字。

其中jdbc.properties属性配置文件的内容如下:(bjpowernode是数据库中的表名)

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/bjpowernode
user=root
password=12456
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值