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表中有两条数据,根据用户信息登录。

具体代码实现如下:

 package cn.itheima.test;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import org.junit.Test; public class TestLogin {
@Test
public void testLogin(){
try {
login1("zhangsan","999");
} catch (Exception e) {
e.printStackTrace();
}
}
public void login1(String username,String password) throws ClassNotFoundException, SQLException{
/*
* 用户登录方法
*/
//1.注册驱动
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/web08","root","12345");
//3.编写sql语句
String sql="select * from tbl_user where uname=? and upassword=?";
//4.创建预处理对象
PreparedStatement pstmt=conn.prepareStatement(sql);
//5.设置参数(给占位符)
pstmt.setString(1, username);
pstmt.setString(2, password);
//6.执行查询操作
ResultSet rs=pstmt.executeQuery();
//7.对结果集进行处理
if(rs.next()){
System.out.println("恭喜您,"+username+"登录成功!");
}else{
System.out.println("账号或密码错误!");
}
if(rs!=null) rs.close();
if(pstmt!=null) pstmt.close();
if(conn!=null) conn.close();
}
}

右击Run As->JUnit Test,执行结果为:恭喜您,zhangsan登录成功!

MySQL学习(三)——Java连接MySQL数据库的更多相关文章

  1. MySQL学习(一)——Java连接MySql数据库

    MySQL学习(一)——Java连接MySql数据库 API详解: 获得语句执行 String sql = "Insert into category(cid, cname) values( ...

  2. Java 连接 MySQL 数据库

    最近想学习一下 Java 连接 MySQL 数据库,于是有了这样的一些问题&解决办法. 首先是解决 JDBC(Java Data Base Connectivity)驱动问题,因为默认安装的J ...

  3. java连接mysql数据库详细步骤解析

    java连接mysql数据库详细步骤解析      第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar      第二步:导入下载的J ...

  4. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

  5. Java连接MySQL数据库增删改查通用方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. Java连接MySQL数据库增删改查通用方法 运行环境:eclipse+MySQL 以前我们Java连接MySQL数据库都是一个数据库写一个类,类 ...

  6. 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类

    一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...

  7. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  8. java连接MySql数据库 zeroDateTimeBehavior

    JAVA连接MySQL数据库,在操作值为0的timestamp类型时不能正确的处理,而是默认抛出一个异常, 就是所见的:java.sql.SQLException: Cannot convert va ...

  9. 转载:Java连接MySQL 数据库的正确操作流程

    转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html       以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...

随机推荐

  1. POJ 3150 循环矩阵的应用

    思路: 首先 先普及一个性质: 循环矩阵*循环矩阵=循环矩阵 由于此题是距离小于d的都加上一个数. 那么 构造矩阵的时候 我们发现 诶呦 这是个循环矩阵 看看数据范围 n^2log(k)可以过. 那就 ...

  2. caffe mnist实例 --lenet_train_test.prototxt 网络配置详解

    1.mnist实例 ##1.数据下载 获得mnist的数据包,在caffe根目录下执行./data/mnist/get_mnist.sh脚本. get_mnist.sh脚本先下载样本库并进行解压缩,得 ...

  3. WebApi不支持跨域访问

  4. C语言整数类型在X86和X64下的字节大小

    C声明 32位机器(X86) 64位机器(X64) char 1 1 short int 2 2 int 4 4 long int 4 8 long long int 8 8 char * 4 8 f ...

  5. 从EntityFramework转换EntityFrameworkCore的正确姿势(DBFirst)

    今天有一个小任务:要把一个数据的数据搬运到另一个数据库(两个数据库的数据结构很不一样). 决定用.net core  console app来跑,并且采用entityframework 去做数据CRU ...

  6. 路飞学城Python-Day20(元类的练习题)

    练习一:在元类中控制把自定义类的数据属性都变成大写 class MyDef(type): def __new__(cls, class_name, class_attr, class_dic): up ...

  7. 《Exception》第八次团队作业:Alpha冲刺(第一天)

    一.项目基本介绍 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 Exception 作业学习目标 1.掌握软件测试基础技术.2.学习迭代式增量软 ...

  8. linux下为firfox安装flash player

    1.去官网下载×.tar.gz包,如:flash_player_npapi_linux.x86_64.tar.gz 2.解压 tar -zxvf flash_player_npapi_linux.x8 ...

  9. js实现鼠标吸附线条效果

    如图,箭头→为鼠标位置,鼠标会带有吸附着一些线条的效果,具体效果可在我的博客查看,当然,这也是可很受欢迎很常见的效果了=3= <script> !function(){ function ...

  10. visual studio 2017 使用码云gitee进行源代码管理

    在码云新建项目 复制项目地址 visual studio  操作 新建项目 提交到码云