博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC
阅读量:5145 次
发布时间:2019-06-13

本文共 3548 字,大约阅读时间需要 11 分钟。

*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

你可能感兴趣的文章
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
01: socket模块
查看>>
mysql触发器
查看>>
淌淌淌
查看>>
web页面实现指定区域打印功能
查看>>
使用PHP拆分中文字符串的方法(收藏) 小节
查看>>
win10每次开机都显示“你的硬件设置已更改,请重启电脑……”的解决办法
查看>>
VMware环境和Window环境进行网络连接的问题
查看>>
macOS10.12允许所有来源设置
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
python搜索引擎(转)
查看>>
关于height,line-height导致的样式混乱的问题
查看>>
《SEO实战密码》读后一点感受
查看>>
bzoj 4815 [Cqoi2017]小Q的表格——反演+分块
查看>>
Swift 入门之简单语法(六)
查看>>
shim和polyfill有什么区别
查看>>
Failed to load the JNI shared library “E:/2000/Java/JDK6/bin/..jre/bin/client/jvm.dll
查看>>
Zabbix3.4服务器的搭建--CentOS7
查看>>
〖Python〗-- IO多路复用
查看>>