JDBC

作者: 骏龙ll | 来源:发表于2019-06-18 04:19 被阅读0次

    1、数据库连接

    a、加载数据库驱动程序(要把驱动加载到方法区)

    Class.forName("com.mysql.jdbc.Driver");

    b、利用驱动管理器获取数据库连接

    Connection conn=DriverManager.getConnection(url,"root","root");

    url解释

    jdbc:mysql://localhost:3306:scott?useUnicode=true&charcterEncoding=utf8

    jdbc:主协议

    mysql:次协议

    localhost:地址

    3306:进入mysql默认的端口号(1521是oracle的默认端口号)

    scott:数据库名字

    localhost:3306 此段可以省略

    ?useUnicode=true&charcterEncoding=utf8:代表支持中文,从eclipse存储数据支持中文

    2、获取SQL语句对象

    PreparedStatement pst=conn.prepareStatement(sql);

    在括号内填写sql语句

    3、获取查询结果(如果是查询语句)

    ResultSet rs=pst.executeQuery();

    4、遍历结果集

    while(rs.next()){

    int empno=rs.getInt("empno");

    System.out.println(empno);

    }

    5、关闭conn/pst/rs

    注:

    接数据库中对于日期的处理

    使用Date接从mysql中查出的数据时可以引入的Date包有java,util或者为java.sql

    1、在查询处用数据库中函数进行转格式(需要做一个别名)

    2、在java中用SimpleDateFormat进行格式转换(如果此时有null日期则会报空指针错,可以用三元运算符处理)

    错误总结:

    -引包错误(都应该引入sql包中的接口和类)

    -url书写错误(协议书写错误,连接数据库地址错误,数据库名称错误)

    -用户名以及密码书写错误

    查询相关:

    ResultSet rs=pst.executeQuery();

    while(rs.next()){

    int empno=rs.getInt("empno");

    String ename=rs.getString("ename");

    Double sal=rs.getDouble("sal");

    Date hiredate =rs.getDate("hiredate");

    System.out.println(empno+","+ename+","+sal+","+hiredate);

    }

    增删改相关:

    conn.setAutoCommit(false);(将自动提交关闭防止事物一致性被损坏,一定要加)

    在pst.executeUpdate()后要记得

    conn.commit();

    在catch块中级的

    conn.rollback()

    ****配置文件,DBUtils

    a、节省资源--单利

    b、关闭原则--配置文件方式

    常见错误

    a、配置文件必须在src下(classpath)

    b、配置信息中不要有多有的符号如“”“”

    员工打卡记录

    1、建表

    2、

    注意Scanner 特殊情况

    当输入一个数字,在输入一行文字时:如

    int i=Sc.nextInt();

    String str=sc.nextLine();

    此时出现自动跳过字符串的输入,是因为nextLine();自动接了一个回车,处理方式为

    int i=Sc.nextInt();

    sc,nextLine();

    String str=sc.nextLine();

    相关文章

      网友评论

          本文标题:JDBC

          本文链接:https://www.haomeiwen.com/subject/hxxqbqtx.html