码迷,mamicode.com
首页 > 数据库 > 详细

JDBC初级

时间:2019-12-25 01:39:41      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:otf   字符创   strong   zone   插入   getc   对象   test   sql语句   

//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

 

JDBC初级

标签:otf   字符创   strong   zone   插入   getc   对象   test   sql语句   

原文地址:https://www.cnblogs.com/-Archenemy-/p/12094396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!