通过jdbc连接数据库

public class JdbcDemo {

    private static String url="jdbc:mysql://127.0.0.1:3306/demo2";
    private static String user="root";
    private static String password="ROOT";
    public static void main(String[] args) {
        Statement statm=null;
        Connection conn=null;
        try {
            //第一步:加载驱动类
            Class.forName("com.mysql.jdbc.Driver");
            System.out.println("驱动加载成功");
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            System.out.println("驱动加载失败");
            e.printStackTrace();
        }
        try {
            //第二步:创建数据库的连接
            conn=DriverManager.getConnection(url, user, password);
            System.out.println("链接成功,地址:"+conn);
            //第三步:获取操作数据库的statement对象
            statm=conn.createStatement();
            /*String sql="insert into hobby(hid) values("+(int) (Math.random()*1000+1)+")";
            int i=0;
            while(i<200){
                statm.addBatch(sql);
                i++;
            }
            int[] data=statm.executeBatch();
            System.out.println(data.length);*/
            String sql="SELECT c.cname,t.tname FROM course c,teacher t WHERE c.tid=t.tid";
            //第四步:操作数据库
            ResultSet set=statm.executeQuery(sql);
            //对set中的数据迭代输出,不能用for循环
            while(set.next()){
                String s=set.getString("tname");
                String s1=set.getString("cname");
                System.out.println(s+"  "+s1);
            }

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            System.out.println("链接失败");
            e.printStackTrace();
        }finally{
            if(statm!=null){
                try {
                    statm.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            if(conn!=null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

    }

}

向数据库中增加,删除,修改数据或者是创建一张新的表可以用:executeUpdate(String sql)
执行给定 SQL 语句,该语句可能为 INSERT、UPDATE 或 DELETE 语句,或者不返回任何内容的 SQL 语句(如 SQL DDL 语句),还可以创建一张新的表。
executeQuery(String sql)
执行给定的 SQL 语句,该语句返回单个 ResultSet 对象。相当于数据库中select的功能。
executeBatch()
将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组。
addBatch(String sql)
将给定的 SQL 命令添加到此 Statement 对象的当前命令列表中 。

通过使用addBatch()和executeBatch()这一对方法可以实现批量处理数据。

猜你喜欢

转载自blog.csdn.net/weixin_35703883/article/details/52458420