码迷,mamicode.com
首页 > 数据库 > 详细

JDBC

时间:2019-03-19 15:09:33      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:pre   ring   注解   man   计算   monkey   增删改   开发   mon   

1. 什么是JDBC

  1. JDBC是java database connectivity的缩写,是SUN公司提供的一套操作数据库的标准规范。JDBC提供一些操作数据的API,开发者可以在java中使用这些API操作数据库,实现对表中数据的增删改查操作,JDBC相当于java和数据库之间的一座桥梁。

  2. SUN公司制定了JDBC标准,各大数据库厂商会提供数据库驱动现这个标准,这样java才可以通过JDBC来操作实现了这个标准的数据库。如果将JDBC看做是接口的话,数据库厂商提供的数据库驱动就是这个接口的实现类。各个数据库厂商会将各自的数据库驱动打成jar包对外发布,开发者在使用时需要下载与当前数据库匹配的数据库驱动jar包。
  3. JDBC规范让Java程序和数据库驱动实现了松耦合,使切换不同的数据库变得更加简单。

2. JDBC的四个核心接口

  • DriverManager:用于注册驱动并创建符合该驱动的数据库的连接。
  • Connection:表示与数据库创建的连接对象,即一个connection对应着一个会话,相当于在mysql workbench中打开了一个连接。
  • Statement:操作数据库sql语句的对象,有个两个实现类:Statement和PreparedStatement(常用)。
  • ResultSet:从数据库中查询的结果集。

基本上通过使用上面4个接口就能使用java实现对数据库的增删改查了。

3. 使用JDBC开发的准备工作

JDBC规范在jdk中的 java.sql.;,javax.sql.;

这两个包下面,不过这里面都是接口,要想使用JDBC的话,需要下载相关的数据库驱动jar包,这里咱们使用的是MySQL数据库,所以需要下载MySQL的数据库驱动:http://pan.baidu.com/s/1hsJ1Rww
,我传到网盘中了,直接通过上面的链接就可以下载。
在MyEclipse中创建一个web project,之后将上面下载的数据库驱动解压,解压后将mysql-connector-java-5.1.43-bin.jar包拷贝到项目中的WebContent/WEB-INF/lib目录下。

为了便于测试,先在数据库中创建下面的表并初始化数据,sql脚本:

 1 create table t_user(
 2     id int primary key auto_increment,
 3     name varchar(40),
 4     password varchar(40),
 5     email varchar(60),
 6     birthday date
 7 );
 8 insert into t_user(name,password,email,birthday) values(tiger,123456,tiger@163.com,1994-12-01),
 9 (rabbit,123456,tiger@163.com,1997-06-11),
10 (sheep,123456,sheep@163.com,1995-07-15);

4. 使用JDBC编程的步骤

  一般情况下分为以下6步:

  1. 注册驱动
  2. 获取连接Connection
  3. 得到执行sql语句的对象Statement
  4. 执行sql语句,并返回结果
  5. 处理结果
  6. 关闭Connection
 1 package com.monkey1024.jdbc;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.ResultSet;
 6 import java.sql.Statement;
 7 
 8 /**
 9  * 使用JDBC技术实现查询数据库数据,并显示在控制台中
10  *
11  */
12 public class JDBC_Test01 {
13 
14     public static void main(String[] args) throws Exception {
15         //注册驱动
16         Class.forName("com.mysql.jdbc.Driver");
17 
18         //获取连接Connection
19         Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/monkey1024", "root", "monkey1024");
20         //得到执行sequel语句的对象Statement
21         Statement stmt = conn.createStatement();
22         //执行sql语句,并返回结果
23         ResultSet rs = stmt.executeQuery("select id,name,password,email,birthday from t_user");
24 
25         //处理结果 
26         while(rs.next()){ 
27             System.out.println(rs.getObject("id"));
28             System.out.println(rs.getObject("name"));
29             System.out.println(rs.getObject("password"));
30             System.out.println(rs.getObject("email"));
31             System.out.println(rs.getObject("birthday"));
32             System.out.println("-----------------");
33         }
34 
35         //关闭资源
36         rs.close();
37         stmt.close();
38         conn.close();
39     }    
40 
41 }

 

5. junit简介

junit是一个单元测试框架,之前的代码中只能运行main方法中的内容,使用junit之后,可以直接运行非main方法中的内容。
要使用junit需要先导入相关jar包,可以去junit官网下载相关jar,也可以在eclipse中直接加入相关jar,这里使用eclipse直接加入jar包。
在项目上右键—>properties—>java build path—>选择libraries一项—>点击add library—junit,导入相关junit的jar包即可。

unit的使用

在想要运行的方法上面加上@Test注解,右键run as—>junit test即可运行。
注意:在@Test注解修饰的测试方法不能有返回值,不能有方法参数。

 1 package com.monkey1024.jdbc;
 2 
 3 import org.junit.Test;
 4 
 5 public class CaculateTest01 {
 6 
 7     @Test
 8     public void test1(){
 9         System.out.println("monkey1024");
10     }
11 }

junit断言

junit中提供了Assert类,通过调用该类中的方法,可以测试一下方法运行的结果跟我们想要的结果是否一致,这种方式叫做断言。
创建一个Caculate类,里面有两个方法分别计算两个数字相加和相除:

 1 package com.monkey1024.jdbc;
 2 
 3 /**
 4  * 计算器
 5  *
 6  */
 7 public class Caculate {
 8 
 9     public int add(int a, int b){
10         return a+b;
11     }
12 
13     public double devide(double a, double b){
14         return a/b;
15     }
16 }

 

使用junit的assert断言进行测试:
 1 package com.monkey1024.jdbc;
 2 
 3 import org.junit.Assert;
 4 import org.junit.Test;
 5 
 6 import junit.framework.TestCase;
 7 
 8 public class CaculateTest01 {
 9 
10     @Test
11     public void test1(){
12         System.out.println("monkey1024");
13     }
14 
15     @Test
16     public void test2(){
17         Caculate c = new Caculate();
18         Assert.assertEquals(15, c.add(10, 5));
19         TestCase.assertEquals(15, c.add(10, 5));
20     }
21 
22     @Test
23     public void test3(){
24         Caculate c = new Caculate();
25         //因为10除以3是除不尽的,0.4是允许的浮动范围
26         Assert.assertEquals(3, c.devide(10, 3), 0.4);
27     }
28 }

 

JDBC

标签:pre   ring   注解   man   计算   monkey   增删改   开发   mon   

原文地址:https://www.cnblogs.com/chen-hai-jia/p/10558566.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!