jdbc常见操作《一》

jdbc:

java data base connectivity数据库连接技术,主要任务是获取数据库层的数据库连接并使用该数据库连接发送相关的sql指令做数据库数据的操作。 用到的接口主要在java se的java sql.*,javax.sql.*两个包中:




,由上图可以了解到,mysql jdbc driver层主要有数据库厂商根据sun提供的接口进行实现,开发者需要在操作数据库数据之前将该层需要的jar包直接引入。


数据库连接:
即:使用相关的客户端程序和数据库服务实例进行连接,在整个连接的过程中发送sql指令进行数据的操作。

方式一:使用命令行客户端窗口连接。

方式二:使用myeclipse进行连接:







jdbc体验:

1) 准备测试数据:

mysql> create table day03(
    -> id int ;
ERROR 1046 (3D000): No database selected
mysql> create database day03
    -> character set utf8
    -> collate utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql> use day03;
Database changed
mysql> create tabel users(
    -> id int primary key auto_increment,
    -> name varchar(20),
    -> password varchar(50)
    -> )character set utf8
    -> collate utf8_general_ci;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'tabel users(
id int primary key auto_increment,
name varchar(20),
password varch' at line 1
mysql> create table users(
    -> id int primary key auto_increment,
    -> name varchar(20),
    -> password varchar(50)
    -> )character set utf8
    -> collate utf8_general_ci;
Query OK, 0 rows affected (0.13 sec)

mysql> insert into users(name,password)
    -> values('cai',password('cai'));
Query OK, 1 row affected (0.05 sec)

mysql> insert into users(name,password)
    -> values('niao',password('niao'));
Query OK, 1 row affected (0.07 sec)

mysql> select * from users;
+----+------+-------------------------------------------+
| id | name | password                                  |
+----+------+-------------------------------------------+
|  1 | cai  | *0576945B87B58FCAEC83302BF28521A5C9A6CC16 |
|  2 | niao | *E15E4C490D1A8909E01239537A0A54935329D201 |
+----+------+-------------------------------------------+
2 rows in set (0.00 sec)

2)引入项目的jar包:如上myeclipse连接时使用的jar包。

3)程序中使用。

public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.jdbc.Driver");//通过反射创建指定类的class对象
        Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/day03", "root", "root");//使用drivermanager类获取数据库的连接
        Statement state=conn.createStatement();//获取执行sql语句的statement对象
        String sql="select * from users";
        ResultSet set=state.executeQuery(sql);//使用语句对象执行指定的sql指令,并返回结果集
        while(set.next()){
            int id=set.getInt(1);
            String name=set.getString(2);
            String password=set.getString(3);
            System.out.println("id:"+id+","+"name:"+name+","+"password:"+password);
            
        }
        conn.close();
    }

结果如下:

id:1,name:cai,password:*0576945B87B58FCAEC83302BF28521A5C9A6CC16
id:2,name:niao,password:*E15E4C490D1A8909E01239537A0A54935329D201


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值