JDBC驱动

来源:互联网 发布:怎么申请关闭淘宝店铺 编辑:程序博客网 时间:2024/06/05 23:42

JDBC

  1. >加载驱动
Class.forName(driver);

mysql的driver是
com.mysql.jdbc.Driver
2. >创建连接

Connection conn=DriverManager.getConnection(url,user,password);

其中mysql的url为jdbc:mysql://127.0.0.1:3306/数据库名称?characterEncoding=utf8&useSSL=true
其中useSSL是新版mysql的特性不加的话会有警告

SSL (Secure Socket Layer)
为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络
上之传输过程中不会被截取及窃听。
3. >创建语句

Statement stmt=conn.createStatement();//有安全隐患,无法防止SQL注入,sql语句在之后添加 PreparedStatement statement=conn.prepareStatement(sql); //不会被SQL注入,sql语句可以直接在这里添加,当然作为预处理语句他可以允许使用占位符来等待用户的输入

Statement无法防止SQL注入的原因是他采取的是字符串拼接,收到的信息会直接拼接到SQL语句中
而Preparedstatement方法执行完后,sql语句会发送给数据库,数据库会对sql进行预编译,预编译后的sql语句的结构是不能改变的。预编译就是数据库会对sql的结构进行编译,但是不是真正上的编译得到结果集。
4. >执行

此时就可以开始输入sql语句了Statement的语句在这里插入,而PreparedStatement的占位符也需要在这里替换。
而执行有几个方法,Statement和PreparedStatement都提供了这些方法

executeQuery(sql)
这个方法用于查询数据库中的内容,无法修改或创建删除数据库的内容。

executeUpdate(sql)
用于修改和添加删除数据。

excute()
可以执行所有的SQL语句。

ResultSet()
该方法返回结果数量
excute()方法比较麻烦(虽然我没试过),因此一般使用executeQuery和executeUpdate两种方法。

excute()方法比较麻烦(虽然我没试过),因此一般使用executeQuery和executeUpdate两种方法

0 0
原创粉丝点击