1、什么是JDBC?
JDBC(Java DataBase Connectivity)就是Java数据库连接,说白了就是用Java语言来操作数据库。原来我们操作数据库是在控制台使用SQL语句来操作数据库,JDBC是用Java语言向数据库发送SQL语句。
2、JDBC原理
SUN提供访问数据库规范称为JDBC,而生产厂商提供的实现类称为驱动。
JDBC是接口,而JDBC驱动才是接口的实现,没有驱动无法完成数据库连接!
每个数据库厂商都有自己的驱动,用来连接自己公司的数据库。
3、JDBC开发步骤
1)注册驱动
2)获得连接
3)获得语句执行者
4)执行sql语句
5)处理结果
6)释放资源
3、导入驱动jar包
1)新建项目,命名为WEB08_JDBC,
2)创建lib目录,右击New->Folder,命名为lib,用于存放当前项目需要的所有jar包,
把jar包复制到当前项目的lib文件夹下,
3)选择jar包右击执行Build Path,直至当前目录下出现一个小奶瓶标志
4、测试sql注入问题(运用到JUnit单元测试的内容)
mysql下web08数据库中tbl_user表中有两条数据,根据用户信息登录。
具体代码实现如下:
1 package cn.itheima.test; 2 3 import java.sql.Connection; 4 import java.sql.DriverManager; 5 import java.sql.PreparedStatement; 6 import java.sql.ResultSet; 7 import java.sql.SQLException; 8 import java.sql.Statement; 9 10 import org.junit.Test; 11 12 public class TestLogin { 13 @Test 14 public void testLogin(){ 15 try { 16 login1("zhangsan","999"); 17 } catch (Exception e) { 18 e.printStackTrace(); 19 } 20 } 21 public void login1(String username,String password) throws ClassNotFoundException, SQLException{ 22 /* 23 * 用户登录方法 24 */ 25 //1.注册驱动 26 Class.forName("com.mysql.jdbc.Driver"); 27 //2.获取连接 28 Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/web08","root","12345"); 29 //3.编写sql语句 30 String sql="select * from tbl_user where uname=? and upassword=?"; 31 //4.创建预处理对象 32 PreparedStatement pstmt=conn.prepareStatement(sql); 33 //5.设置参数(给占位符) 34 pstmt.setString(1, username); 35 pstmt.setString(2, password); 36 //6.执行查询操作 37 ResultSet rs=pstmt.executeQuery(); 38 //7.对结果集进行处理 39 if(rs.next()){ 40 System.out.println("恭喜您,"+username+"登录成功!"); 41 }else{ 42 System.out.println("账号或密码错误!"); 43 } 44 if(rs!=null) rs.close(); 45 if(pstmt!=null) pstmt.close(); 46 if(conn!=null) conn.close(); 47 } 48 }
右击Run As->JUnit Test,执行结果为:恭喜您,zhangsan登录成功!