黑马程序员技术交流社区

标题: 前几天问了个JDBC,没人理我,自己又看了下,总结如下 [打印本页]

作者: Curvat    时间: 2016-6-1 10:37
标题: 前几天问了个JDBC,没人理我,自己又看了下,总结如下
JDBC介绍
  SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC。这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加载具体的驱动,就可以操作数据库。
如下图所示:
  JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成。
  组成JDBC的2个包:
   java.sql
   javax.sql
  开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)。



作者: Curvat    时间: 2016-6-1 10:38
编写JDBC程序
2.1、搭建实验环境   
  1、在mysql中创建一个库,并创建user表和插入表的数据。

  SQL脚本如下:

1 create database jdbcStudy character set utf8 collate utf8_general_ci;
2
3 use jdbcStudy;
4
5 create table users(
6     id int primary key,
7     name varchar(40),
8     password varchar(40),
9     email varchar(60),
10     birthday date
11 );
12
13 insert into users(id,name,password,email,birthday) values(1,'zhansan','123456','zs@sina.com','1980-12-04');
14 insert into users(id,name,password,email,birthday) values(2,'lisi','123456','lisi@sina.com','1981-12-04');
15 insert into users(id,name,password,email,birthday) values(3,'wangwu','123456','wangwu@sina.com','1979-12-04');
  2、新建一个Java工程,并导入数据驱动。
  

  3、编写程序从user表中读取数据,并打印在命令行窗口中。
  具体代码如下:

1 package me.gacl.demo;
2 import java.sql.Connection;
3 import java.sql.DriverManager;
4 import java.sql.ResultSet;
5 import java.sql.Statement;
6
7 public class JdbcFirstDemo {
8
9     public static void main(String[] args) throws Exception {
10         //要连接的数据库URL
11         String url = "jdbc:mysql://localhost:3306/jdbcStudy";
12         //连接的数据库时使用的用户名
13         String username = "root";
14         //连接的数据库时使用的密码
15         String password = "XDP";
16         
17         //1.加载驱动
18         //DriverManager.registerDriver(new com.mysql.jdbc.Driver());不推荐使用这种方式来加载驱动
19         Class.forName("com.mysql.jdbc.Driver");//推荐使用这种方式来加载驱动
20         //2.获取与数据库的链接
21         Connection conn = DriverManager.getConnection(url, username, password);
22         
23         //3.获取用于向数据库发送sql语句的statement
24         Statement st = conn.createStatement();
25         
26         String sql = "select id,name,password,email,birthday from users";
27         //4.向数据库发sql,并获取代表结果集的resultset
28         ResultSet rs = st.executeQuery(sql);
29         
30         //5.取出结果集的数据
31         while(rs.next()){
32             System.out.println("id=" + rs.getObject("id"));
33             System.out.println("name=" + rs.getObject("name"));
34             System.out.println("password=" + rs.getObject("password"));
35             System.out.println("email=" + rs.getObject("email"));
36             System.out.println("birthday=" + rs.getObject("birthday"));
37         }
38         
39         //6.关闭链接,释放资源
40         rs.close();
41         st.close();
42         conn.close();
43     }
44 }

作者: 橘子哥    时间: 2016-6-1 13:05
厉害,楼主用心啦
作者: cliangtime    时间: 2016-6-1 14:54
看不懂。。。。。
作者: li6232876    时间: 2016-6-1 16:22
厉害,楼主用心啦,加油吧!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2