栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDBC基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDBC基础

JDBC : sun公司发布的一个 java 程序和数据库之间的统信规范(接口)。
然后各大数据库厂商去实现 JDBC 规范(实现类),这些实现类打成压缩包,就是所谓的jar包。

JDBC作用: 用于Java程序和数据库通信。

使用 获取连接对象
        //1. 添加jar
        //2. 加载驱动
        Class.forName("com.mysql.jdbc.Driver");

        //3. 通过驱动管理器获取连接对象
        //3-1. 准备URL
        String url = "jdbc:mysql://localhost:3306/db1" + CONFIG;
        //3-2. 准备用户名
        String name = "root";
        //3-3. 准备密码
        String pwd = "1234";
		//得到连接对象
        Connection conn = DriverManager.getConnection(url ,name, pwd);
        
添加数据
		//3. 编写sql语句  ? 表示占位符
        // id (自增键), fname, price , fcount , remark
        String sql = "insert into t_fruit values(0, ?, ?, ?, ?)";

        //4. 创建预处理命令对象
        PreparedStatement psmt = conn.prepareStatement(sql);
        //5. 填充参数
        psmt.setString(1, "凤梨");
        psmt.setInt(2, 14);
        psmt.setInt(3, 5);
        psmt.setString(4, "产地塔什库尔干");

        //6. 执行更新(增删改),返回影响行数
        int count = psmt.executeUpdate();
        System.out.println(count > 0 ? "添加成功" : "添加失败");

        //7. 释放资源(关闭连接)
        psmt.close();
        conn.close();
修改数据
        String sql = "update t_fruit set fname = ? , remark = ? where fid = ?";

        PreparedStatement psmt = conn.prepareStatement(sql);
        psmt.setString(1, fruit.getFname());
        psmt.setString(2, fruit.getRemark());
        psmt.setInt(3, fruit.getFid());

        int count = psmt.executeUpdate();
        System.out.println(count > 0 ? "修改成功" : "修改失败");

		//...释放资源        
删除数据
        String sql = "delete from t_fruit where fid = ?";

        PreparedStatement psmt = conn.prepareStatement(sql);
        psmt.setInt(1, 6);

        int count = psmt.executeUpdate();
        System.out.println(count > 0 ? "删除成功" : "删除失败");
		
		//...释放资源
查询数据集合
        String sql = "select * from t_fruit";
        PreparedStatement psmt = conn.prepareStatement(sql);
        ResultSet rs = psmt.executeQuery();

        List fruitList = new ArrayList<>();
        while (rs.next()) {
            //表示读取当前行的第一列数据
            //int id = resultSet.getInt("fid");  //参数也可以是结果集的列名
            int fid = rs.getInt(1);

            String fname = rs.getString(2);
            int price = rs.getInt(3);
            int fcount = rs.getInt(4);
            String remark = rs.getString(5);

            Fruit fruit = new Fruit(fid, fname, price, fcount, remark);
            fruitList.add(fruit);
        }
        rs.close();
        psmt.close();
        conn.close();

查询单个数据
		String sql = "select * from t_fruit where fid = ?";
        PreparedStatement psmt = conn.prepareStatement(sql);
        psmt.setInt(1, id);
        ResultSet rs = psmt.executeQuery();
        
        if (rs.next()) {
            int fid = rs.getInt(1);
            String fname = rs.getString(2);
            int price = rs.getInt(3);
            int fcount = rs.getInt(4);
            String remark = rs.getString(5);

            Fruit fruit = new Fruit(fid, fname, price, fcount, remark);
        }
查询统计结果
        String sql = "select count(*) from t_fruit";
        PreparedStatement psmt = conn.prepareStatement(sql);
        ResultSet rs = psmt.executeQuery();
        
        if (rs.next()) {
            int count = rs.getInt(1);
            System.out.println("总记录条数: " + count);
        }
分层

DAO (Data Access Object) 数据存取对象: 是指位于业务逻辑和持久化数据之间实现对持久化数据的访问对象。通俗来讲,就是将数据库操作都封装起来。

DAO中的方法都是单精度方法。单精度指的是这个方法的粒度不能再分了,已经非常细了(因此也称之为细粒度)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/999903.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号