zoukankan      html  css  js  c++  java
  • JDBC初级

    //1.将mysql的jdbc驱动加载到内存中
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            
            //指定需要连接的数据库地址,用户名和密码
            
            String url = "jdbc:mysql://127.0.0.1:3306/库名?"
                +"useUnicode=true&characterEncoding=utf-8 &"
                +"useSSL = false & serverTimezone = UTC";
            //为了防止数据库和程序编码不一致的情况,加上后缀
            //?useUnicode=true&characterEncoding=utf-8
            //mysql5.7以上的版本,由于添加了SSL认证接口,所以在执行的时候可能会报出警告
            //mysql8.0其实不需要SSL认证了,但是保留了SSL接口,所以在连接的时候最好指明useSSL=false
            //mysql8.0还有一个时区的问题serverTimezone=UTC
            String user = "root";
            String password = "数据库密码";
            
            
            Connection conn = null;
            Statement stmt = null;
            
            
            try {
                //2.获取连接
                conn = DriverManager.getConnection(url, user, password);
                
                //3.通过连接创建Statement对象
                stmt = conn.createStatement();
                
                //4.执行数据库语句 DML
                
                //jdbc中增删改都是executeUpdate方法
                //这个方法会返回一个int类型的值
                //对应就是几行数据受影响
                //插入语句
                int n = stmt.executeUpdate("sql的DML语句");
                //需要注意的是sql的DML语句中关于varchar对象的输入注意单引号的书写
                //java中的字符创类型在sql中不会当做字符串处理,需要手动添加单引号
                System.out.println(n + "行受影响");
                
                //4.执行数据库语句 DQL
                //jdbc中增删改都是executeQuery方法
                //这个方法会返回一个ResutSet类型的值
                //ResutSet类型存储的是查询到的虚拟表的游标
                ResutSet resut = stmt.executeQuery("sql的DQL语句");
                //循环游标
                while(resut.next()){
                //如果游标指向的有值,则把值放入resut中,并返回true,如果没有就返回false
                    resut.get类型(int || String);
                    //每个get类型()方法都有两个重载,
                    
                    //get类型(int);查询的虚拟表的第几列,从1开始
                    
                    //get类型(String);查询的虚拟表的字段名对应的列,
                    //需要注意如果定义了别名String也应当是别名!!
                }
                
                
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                
                //5.关闭数据库
                try {
                    if(stmt != null) {
                        stmt.close();
                    }            
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                
                try {
                    if(conn != null) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                //在上述的对象关闭中可以只关闭conn
            }

    其他

    时间类型

    时间在JAVA中的定义可以是java.util(推荐使用,转格式方便)与java.sql

    注意:Java中的Date是Java.util.Date无法直接放入sql语句之中,要么转化为String,要么转化为Java.sql.Date

     Java.sql.Date date = new Java.sql.Date((Util.Date对象).getTime());
     //将sql.Date转化为Util.Date

     

  • 相关阅读:
    centos svn的配置使用
    bind 的使用
    我 && yii2 (二)
    我 && yii2 (一)
    vue handsontable 插件 如何验证该行内的某项内容是否填写 !
    sass穿透 scoped 的情况下 去修改ui组件的样式
    vue 3.0 编译巨慢 结局方法
    element-ui tree树形节点 自定义图标
    element
    treeselect 表单验证解决方法
  • 原文地址:https://www.cnblogs.com/-Archenemy-/p/12094396.html
Copyright © 2011-2022 走看看