zoukankan      html  css  js  c++  java
  • 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登录成功!

  • 相关阅读:
    泛式之争
    测试的本质
    动态语言与静态语言
    对象之间的关系
    关于“重复”的一段交流
    装饰器与子类化
    类的设计质量
    抽象跟难
    Unity经典游戏编程之:球球大作战
    关于Unity 中对UGUI制作任务系统的编程
  • 原文地址:https://www.cnblogs.com/cxq1126/p/7476428.html
Copyright © 2011-2022 走看看