intelliJ工具下导入mysql驱动器及操作数据库

2019-10-10  本文已影响0人  薛延祥

1、java操作mysql等数据库需要先加载数据库驱动器

下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html

Connector/J 表示为java使用的连接器

2、下载后解压为如下

3、使用intelliJ导入jar包

特别注意:通过IDE导入的jar包在IDE中被当做扩展库来识别,此路径在终端命令行工具中并不一定被识别,因此,编译执行代码需要在IDE中进行,在终端命令行工具中不一定可以。

4、加载驱动程序

//1、加载mysql驱动程序,IDE加载的只能在IDE使用,不能在命令行使用,会找不到驱动程序

try {

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

    System.out.println("数据库驱动加载成功");

}catch (ClassNotFoundException e){

e.printStackTrace();

}

5、连接数据库

//2、连接mysql数据库

try {

con = DriverManager.getConnection("jdbc:mysql:" +"//127.0.0.1:3306/test?useSSL=false","xueyanxiang","xueyanxiang");

    System.out.println("数据库连接成功");

}catch (SQLException e){

e.printStackTrace();

}

6、操作数据库

//3、创建对象操作数据库

        try {

sql =con.createStatement();

            System.out.println("数据库操作对象创建成功");

        }catch (SQLException e){

e.printStackTrace();

        }

//4、查询数据库

        try {

ResultSet res =sql.executeQuery("select * from persion");

            while (res.next()){

String id = res.getString("id");

                String name = res.getString("name");

                String age = res.getString("age");

                System.out.println("编号:" + id);

                System.out.println("姓名:" + name);

                System.out.println("年龄:" + age);

            }

}catch (SQLException e){

e.printStackTrace();

        }

//5、预处理查询数据库

        System.out.println("以下为预处理方式查询的数据");

        try {

sqlPre =con.prepareStatement("select * from persion where id = ?");

            sqlPre.setInt(1,2);

            ResultSet resPre =sqlPre.executeQuery();

            while (resPre.next()){

String id = resPre.getString("id");

                String name = resPre.getString("name");

                String age = resPre.getString("age");

                System.out.println("编号:" + id);

                System.out.println("姓名:" + name);

                System.out.println("年龄:" + age);

            }

}catch (SQLException e){

e.printStackTrace();

        }

//6、插入数据

        System.out.println("以下为插入数据");

        try {

//注意:自增id的位置也必须传递null,不能不传

//注意:自动记录时间的字段也必须传递

            sqlPreInsert =con.prepareStatement("insert into persion" +" values (null,?,?,?,?)");

            sqlPreInsert.setString(1,"薛延祥");

            //数据表中年龄类型是int型,此处用字符串也是可以的

            sqlPreInsert.setString(2,"20");

//            sqlPreInsert.setInt(2,20);

//提取当前时间

            Date date =new Date();

            SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

            String nowDate = sdf.format(date);

            System.out.println(nowDate);

            sqlPreInsert.setString(3,nowDate);

            sqlPreInsert.setString(4,nowDate);

            sqlPreInsert.executeUpdate();

            System.out.println("插入数据成功");

        }catch (SQLException e){

e.printStackTrace();

        }

//7、修改数据

        System.out.println("以下为更新数据");

        try {

sqlPreUpdate =con.prepareStatement("update persion set name " +" = ? where id = 1");

            sqlPreUpdate.setString(1,"张三修改");

            sqlPreUpdate.executeUpdate();

            System.out.println("更新数据成功");

        }catch (SQLException e){

e.printStackTrace();

        }

//8、删除数据

        System.out.println("以下为删除数据");

        try {

sqlPreDelete =con.prepareStatement("delete from persion where id = ?");

            //id为整形,传递字符串也是可以的

            sqlPreDelete.setString(1,"13");

//            sqlPreDelete.setInt(1,10);

            sqlPreDelete.executeUpdate();

            System.out.println("删除数据成功");

        }catch (SQLException e){

e.printStackTrace();

        }

上一篇下一篇

猜你喜欢

热点阅读