MySQL学习(三)——Java连接MySQL数据库

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登录成功!

原文地址:https://www.cnblogs.com/cxq1126/p/7476428.html