zoukankan      html  css  js  c++  java
  • Java学习之JDBC 2019/3/10

    Java学习之JDBC

    大部分的程序都是用来通过处理数据来达到人们预期的效果,数据是粮食,没有数据操作的程序就像helloworld程序一样没有用处。因此数据库操作是重中之重,是程序发挥功能的基石,java对数据库的链接与操作简称为JDBC,学好,运用好JDBC是必须的。

    首先需要了解MySQL数据库,当在电脑完成数据库的安装后,就可以进行数据库的一般操作了。

    基本语法:

    创建数据库: CREATE DATABASE how2java

     

    创建数据库中的表:

    CREATE TABLE hero(

    Id int(11)  AUTO_INCREMENT,//表示自增长,一般作为唯一键值

    Name varchar(30),

    Garde float(15),

    Primary key(id) //必须部分,表示选择id 作为唯一键值

    ) DEFAULT CHARSET = UTF8;  //这样子就可以支持中文了

     

    查询所有

    Select * from hero ( 表名)

     

    按条件查询

    Select * from hero where id =?

     

    删除所有

    Delete from hero

     

    按条件删除

    Delete from hero where id =?

     

    插入信息

    Insert  into  hero  values ( null, ‘teemo’,800 )

     

    JDBC:

    首先连接驱动:

    Try{

    Class.forName( “ com.mysql.jdbc.driver“)

    }

    Catch(ClassNotFoundException E ){

    E.printStackTrace();

    }

     

    再创建连接:

    Connection C = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/how2java?characterEncoding=UTF-8”,”root”,”admin”);需要捕捉异常!

    一般两种方式来执行对MySQL的操作语句

    第一种 (以查询为例) Statement S = C.createStatement();(需要捕捉异常!)

            String str = “ select * from hero”;

            RuseltSet rs =S.executeQuery(str);

           While( rs.next() ){

            String SStr = rs.getString(2);

            Int I = rs.getInt(1);

    //以上表明分别获取名字和id

            }

    第二种 String str = “select * from hero where id = ?”

           PreparedStatement ps = C.PrepareStatement(str);

           ps.setInt(1,1) //在这里表示对以上string语句的问号的赋值,前面的数字是第几个问号,后面是要赋的值

           RuseltSet rs = ps.execute();

           While( rs.next() ){

            String SStr = rs.getString(2);

            Int I = rs.getInt(1);

    //以上表明分别获取名字和id

            }

    事务处理:

    当先用 C.SetAutoCommit(false)第一行,

    后在用C.Commit()完结,中间的代码表示一个事务,是连在一起的

    特殊操作:

    插入后,获取自增长id

    ResultSet Rs = ps.getGeneratedKets();

    再提取Rs中的值就是其id

    获取可用数据库名单

    DataBaseMataBase sjkmd = C.MataBase();

    Result Rs = sjkmd.getCatalogs();

    再提取Rs中的值就是其名单!

    2019/3/10 11

     

            

     

     

     

  • 相关阅读:
    黑客网站拒绝删除微软机密文件 被迫关停 狼人:
    微软:SE2010不是我们的杀毒软件 狼人:
    Websense互联网威胁报告: Web威胁更具混合性 狼人:
    安全厂商:至少100家企业遭遇谷歌同样攻击 狼人:
    金山毒霸:极虎继续发威 病毒借兽兽门大肆传播 狼人:
    网站站点百度再出新声明 内容始终是王道
    目标合并【C++】容器元素的复制和变换
    设置配置高可用的Mysql双机热备(Mysql_HA)
    百度高度js 检测web页面是否正在操作,如超过规定时间内未操作将自动跳转至指定页面。
    删除元素【C++】顺序容器 Vector 注意事项
  • 原文地址:https://www.cnblogs.com/qq1005801715/p/10507966.html
Copyright © 2011-2022 走看看