Java的JDBC技术

JDBC技术

JDBC技术是Java提供的一套类和接口,是连接数据库的一套规范,每一个数据库产商都需要实现

JDBC操作数据库的步骤

1. 驱动注册 

 registerDriver(Driver driver)

加载驱动类  Driver是数据库厂商实现的 跟我们没有关系

2. 获取数据库的连接对象

getConnection(url,user,password)

这里相当于 连接上了数据库

3. 通过连接对象 获取可以sql语句的执行对象

连接对象 .createStatement() 就可以获取执行对象

4. 执行语句

通过Statement对象 来执行 sql语句

executeUPdate(sql) 返回值int

执行的是DML 和 DDL语句 

executeQuery(sql) 返回ResultSet

执行DQL语句

5. 处理执行sql语句后得到结果集

6. 关闭资源 调用Close

注册驱动

注意: DriverManager.registerDriver(new Driver());

如果这么注册相当于 注册了两遍驱动

Driver源码中有静态代码块 并且代码块中已经注册了一次

该如何正确注册驱动  利用反射来注册驱动 Class.forName("com.mysql.jdbc.Driver");

获取连接对象

数据库连接地址 jdbc:mysql:// 主机的ip地址:数据库端口号/数据库的名

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

sql注入测试

'wanglong' or 1 = 1

在sql语句拼接的时候 可以加入一个恒等条件 让这条sql语句一定会成立

可以通过这个方式来改变你sql语句原来的意思

防止sql注入

Scanner scanner = new Scanner(System.in);
System.out.println("请输入账号");
String user = scanner.nextLine();
System.out.println("请输入密码");
String password = scanner.nextLine();
// jdbc:mysql://localhost:3306/myjdbc01
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/myjdbc01","root","123456");
// 获取预编译sql语句的对象
// 只用占位符
String sql = "select * from users where username = ? and password =?";
System.out.printtln(sql);
PreparedStatement ststement = connection.prepareStatement(sql);
// 设置占位符的值
// 参数一 问号的索引 从1开始
// 就是替换 ? 的值
statement.setObject(1, user);
statement.setObject(2, password);
// 执行sql语句
ResultSet resultSet = statement.executeQuery();
// 处理结果集
while(resultSet.next()) {
 System.out.println(resultSet.getString("username")+" "+resultSet.getShort("password"));
}
connection.close();
statement.close();
resultSet.close();

如何获取bin文件下的配置文件路径并取出配置文件中的内容

// 获取bin文件夹的路径classpath

// 保证bin文件下要有这个文件 需要把配置文件放到工程目录的src文件夹下
// 这个文件会被系统编译到bin文件夹下




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值