摘要:
一、使用PreparedStatement来避免SQL注入攻击示例 这里我只提供源码、测试类及结果截图信息、建库/表的语句详见上一集 执行结果截图(我们输入错误的用户名和密码): 执行结果截图(我们输入正确的用户名和相应密码): 执行结果截图(再构造sql注入攻击): 这样我们通过预编译的Prepa 阅读全文
摘要:
一、建库及表语句(简单测试) 二、封装jdbc的工具类(同上集) 三、包视图截图: 四、数据库配置信息database.properties 五、数据库截图信息: 六、用户登录 } 执行结果截图(我们输入数据库中根本不存在的用户和密码): 执行结果截图(我们输入数据库中存在的用户和其对应密码): 执 阅读全文
摘要:
一、将连接数据库所需的相关信息写入到配置文件、通过读取配置文件来获取数据库的相关信息 package edu.aeon.aeonutils; import java.io.IOException; import java.io.InputStream; import java.sql.Connect 阅读全文
摘要:
一、mysql front 二、navicat for mysql(主要) 阅读全文
摘要:
一、jdbc连接数据库的封装 package edu.aeon.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLExcept 阅读全文
摘要:
使用jdbc编程的时候,首先都要去注册数据库驱动、注册驱动的目的是为了让JVM可以识别数据库的驱动类、如果驱动注册成功,我们可以成功的获取到连接对象,我们通过这个连接对象是否为null来判断驱动是否注册成功! 一、jdbc注册驱动的四种方式示例 测试结果(四种方式结果一样)截图: 阅读全文
摘要:
一、statement.execute()方法既能执行DQL也能执行DDL和DML、如何判断执行的是那种类型的语句、然后做相应的处理呢? 判断的伪代码如下: if(statement.execute(sql)){//如果为true、则执行的是DQL语句 //循环遍历结果 }else{ //否则执行的 阅读全文
摘要:
一、使用statement的executeUpdate执行DML(增删改)语句示例 package edu.aeon.jdbc; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; im 阅读全文
摘要:
一、数据库连接的示例 二、关于try...catch的思考 1.为什么注册数据库驱动、拿到数据库的连接、连接获得执行SQL的对象、然后用获得SQL的对象去执行SQL得到结果集、遍历结果集会放到一个try{ //some code }catch(SQLException e ){//some code 阅读全文