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

  • 相关阅读:
    【codecombat】 试玩全攻略 第九关 循环又循环
    【codecombat】 试玩全攻略 第十三关 已知敌人
    【codecombat】 试玩全攻略 第十一关 再次迷宫经历
    【codecombat】 试玩全攻略 第六关 cell commentary
    【codecombat】 试玩全攻略 第八关 火舞
    【codecombat】 试玩全攻略 第十二关 恐惧之门
    【codecombat】 试玩全攻略 第十四关 已知敌人
    苹果apns推送总结
    Xcode 提升速度小技巧
    UITextField 限制输入字数
  • 原文地址:https://www.cnblogs.com/cxq1126/p/7476428.html
Copyright © 2011-2022 走看看