JDBC

*JDBC
全称 java data Base Connectivity//翻译 java 数据库链接
JDBC是一组以java编写的类和接口

       好处:
        1.java开发人员完全不需要关心数据库的连接方式和实现手段
        2.提高代码的可维护性,是一种组件化私想
        3.代码的执行效率很高,速度很快
       缺点
        1.代码繁琐
        2.维护代价高

*怎么操作

1.获取连接

获取信息
    下面的四个信息,当开发者在跟换数据库时候
         需要改动,其他所有代码都不需要更改
         定义字符串类型变量代表后面一串//包名 //本机地址  /端口     /数据库
         String url="         jdbc:mysql://localhost:3306/j0304";
         用户名
         String username="root";
         密码
         String password="123456";
         驱动程序
         String driver="com.mysql.jdbc.Driver";//驱动程序

*这是增删改使用的:

  //创建一个对象
        Student student=new Student();
        student.setName("wangwu");
        student.setAddress("shanghai");


        Connection conn=null;
        PreparedStatement stmt =null;
        try {
           2.加载驱动
            //java的反射技术
            Class.forName(driver);

            3.创建数据库连接
            conn = DriverManager.getConnection(url,username,password);

            4.执行sql语句

            //字符串拼接实现sql
            //缺点:
            //麻烦,难以维护
            //不安全,完全无法避免sql注入

            stmt = conn.prepareStatement("insert into student(name ,address)values (?,?)");
             //把student 加入数据库                          //z占位符  (?,?)


            //给上述sql语句de占位符赋值
             stmt.setString(1,student.getName());
             stmt.setString(2,student.getAddress());

            //赠删改使用这个方法
            int i=stmt.executeUpdate();

            System.out.println(i);

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            //3 关闭资源
            try {
                if (stmt != null) {
                    stmt.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

查询使用


       String url= "jdbc:mysql://localhost:3306/j0304";

        String username="root";

        String password="123456";

        String driver="com.mysql.jdbc.Driver";



        Connection conn=null;
        PreparedStatement stmt=null;
        ResultSet rs=null;

        try {
            Class.forName(driver);

            conn = DriverManager.getConnection(url,username,password);
            stmt = conn.prepareStatement("select *from Student");
            rs = stmt.executeQuery();

            while (rs.next()){
               int sid=rs.getInt("sid");
                System.out.println(sid);
                String name =rs.getString("name");
                System.out.println(name);
                String address=rs.getString("address");
                System.out.println(address);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            try {
                if (rs != null) {
                    rs.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (stmt != null) {
                    stmt.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (conn != null) {
                    conn.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }

        }


转载于:https://www.cnblogs.com/lxx-1843693653/p/10938304.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值