一个简单程序快速入门JDBC
首先创建jdbc的库,再在这个库里面创建一张users表。
drop database if exists jdbc; create database if not exists jdbc; use jdbc; drop table if exists users; create table if not exists users( id int(5), name varchar(10), sal double(8,2), hire timestamp ); insert into users(id,name,sal) values(1,'张小明',1111.11); insert into users(id,name,sal) values(2,'张明',2222.22); insert into users(id,name,sal) values(3,'张大明',3333.33); insert into users(id,name,sal) values(4,'刘星',4444.44); insert into users(id,name,sal) values(5,'刘星雨',5555.55); insert into users(id,name,sal) values(6,'李金星',6666.66); insert into users(id,name,sal) values(7,'何小明',7777.77);
(因为一行行的插入,保证李最后一个字段时间值不一样)通过查询操作,可看到表结构如下:
新建web工程,或者javase工程。
快速入门代码详细解释如下:
package cn.ydl.j2ee.dao; /** * SUN公司JDBC规则 */ import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.sql.Timestamp; /** * JDBC入门,查询users表中的所有记录,并在控制台显示 */ public class JavaToMysql1 { public static void main(String[] args) throws Exception{ //连接MySQL数据库服务器的字符串 //jdbc:主协议,即如果你用jdbc规则来连接数据库的话,主协议必定是jdbc //mysql:子协议,即连接的是哪种数据库服务器,如果是mysql数据库服务器的话,必定是mysql //127.0.0.1:数据库服务器是位于哪台PC的上,可以用ip表示,也可以用域名表示,例如:localhost //3306:表示MySQL数据库服务器安装以PC上的端口号 //jdbc:表示需要访问MySQL数据库服务器上的哪个具体的数据库 //如果你访问的MySQL数据库服务器的本机上的话,且端口号是3306的话,可以简写成:jdbc:mysql:///jdbc String url = "jdbc:mysql://127.0.0.1:3306/jdbc"; //进入MySQL数据库服务器的用户名 String user = "root"; //进入MySQL数据库服务器的密码,项目中密码不可以明文,必须加密 String password = "root"; //需要执行的SQL语句,建议用大写字母 ctrl+shift+x String sql = "SELECT ID,NAME,SAL,HIRE FROM USERS"; //NO1)表面:在classpath中查询com.mysql.jdbc.Driver这个字符串对象的类,加载到JVM中 //NO1)深层:向DriverManager注册数据库驱动 Class.forName("com.mysql.jdbc.Driver"); //NO2)获取与MySQL数据库服务器的连接 Connection conn = DriverManager.getConnection(url,user,password); //NO3)创建封装SQL语句的对象 Statement stmt = conn.createStatement(); //NO4)执行SQL语句,这里我们使用查询,将结果封装到结果集 ResultSet rs = stmt.executeQuery(sql); //NO5)处理结果集,在默认情况下,指针位于结果集第一行记录之前/上 //rs.next()如果指向有记录的话,返回true;否则返回false while(rs.next()){ //以行为单位,获取每个字段的值 int id = rs.getInt("id"); String name = rs.getString("name"); double sal = rs.getDouble("sal"); Timestamp hire = rs.getTimestamp("hire"); //显示在控制吧 System.out.println(id+"\t"+name+"\t"+sal+"\t"+hire); } //NO6)关闭所用过的连接对象 rs.close(); stmt.close(); conn.close(); //rs和stat叫轻量级对象,即创建和销毁不耗时 //conn叫重量级对象,即创建和销毁要耗时 } }
运行java程序。打印出了数据库中的id和name字段信息:
1 张小明
2 张明
3 张大明
4 刘星
5 刘星雨
6 李金星
7 何小明