美文网首页
2019-08-24 Java连接数据库进行操作

2019-08-24 Java连接数据库进行操作

作者: 枫叶落尽 | 来源:发表于2019-08-24 11:53 被阅读0次

Java连接数据库、进行操作的过程主要是:

1、加载驱动

2、获得连接

3、准备语句

4、执行、结果处理

5、收尾处理,比如关闭连接、结果集

demo:

Connection con=null;
        if(con==null)
        {
            System.out.println("test开始连接数据库");
            try { //加载驱动程序
                Class.forName("com.mysql.cj.jdbc.Driver");
            }catch(Exception e){ 
                e.printStackTrace();
                System.out.println("加载MYSQL数据库驱动失败!");
            }
            try{
                String url="jdbc:mysql://localhost:3306/databsename?useSSL=false&useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
                String user="root";
                String password="password";
                con=DriverManager.getConnection(url,user,password);
                System.out.println("连接到数据库success");

                Statement sql = null;
                ResultSet rs=null;  
                
                sql = con.createStatement();
                String sqlstate = "select start_time from everyday where id='0000'";
                rs = sql.executeQuery(sqlstate); 
                String lastDate = null;
                
                while(rs.next()){   
                    lastDate = rs.getString("start_time");
                }
                rs.close();
                sql.close();
                }
                catch(SQLException e)
                {
                    e.printStackTrace();
                }
        }

加载驱动和获得连接阶段几乎没有差别,有差别的地方主要在准备语句和执行、结果处理阶段。
假设获得的连接对象为conn,在最通用的情况,

 Statement sql = conn.createStatement();
 ResultSet rs=sql.executeQuery("select start_time from everyday where id='0000'");

即可完成与数据库的交互,将我们想获得的数据存贮在rs中,后续进行处理即可。

但是,我们对数据库不仅仅进行查询,同时需要更新,此时就需要更换执行方式了,上面使用的是executeQuery(),如果是单纯的更新,我们使用excuteUpdate()就可以,此时返回值是受影响条数。但执行更新数据时,会遇到SQL注入的问题,此时我们不再使用createStatement()来准备语句,而是使用prepareStatement()来准备语句:

PreparedStatement pr1 = conn.prepareStatement("INSERT INTO everyday (id,start_time) VALUES (?, ?)");    
pr1.setString(1,"0000");pr1.setString(2, today);
pr1.executeUpdate(); 

然后使用setString 等方法来设置参数,以此避免SQL注入,提高性能,理清程序逻辑。

[参考]表名也不确定用PreparedStatement 可以吗? [问题点数:100分]
[参考]Java数据库连接PreparedStatement的使用详解
[参考]PreparedStatement 使用
[参考]executeUpdate()方法的使用
[参考]PreparedStatement
[参考]prepareStatement的用法和解释
[参考]PreparedStatement效率为什么高/为什么要使用PreparedStatement代替Statement
[参考]statement 、prepareStatement的用法和解释
[参考]JDBC中executeQuery、executeUpdate和execute之间的区别
[参考]

相关文章

  • JDBC

    直接用Java对数据库进行操作 JDBC(Java DataBase Connectivity,java数据库连接...

  • mybatis学习之路—JDBC组件复习

    JDBC_java data base connection ,使用java来连接数据库,同时对数据库进行操作 j...

  • 连接数据库(JDBC)

    JDBC:Java DataBase Connection Java数据库连接,用来操作关系型数据库。 连接数据库...

  • JDBC学习笔记(一)

    JDBC:Java Database Connectivity,即java数据库连接,用java语言操作数据库。 ...

  • JDBC

    概念∶Java DataBase Connectivity Java 数据库连接, Java语言操作数据库。JDB...

  • 2019-08-24 Java连接数据库进行操作

    Java连接数据库、进行操作的过程主要是: 1、加载驱动 2、获得连接 3、准备语句 4、执行、结果处理 5、收尾...

  • 【JAVA基础】JAVA 连接数据库

    为什么要连接数据库 JAVA如何去连接,操作数据库*. JDBC Java Database Connecti...

  • JDBC基础

    概念 Java Database Connectivity Java数据库链连接,Java语言操作数据库 JDBC...

  • 1.4JDBC

    JDBC 1.概念:Java Database Connectivity Java数据库连接,Java语言操作...

  • h2数据库

    1. java 操作 嵌入式连接 远程连接 内存数据库

网友评论

      本文标题:2019-08-24 Java连接数据库进行操作

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