实训第二天的一些碎碎念(JDBC以及IDEA优化)

JDBC概念

JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。 简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。

JDBC七个步骤

1.创建sql语句

2.注册驱动class.forName(String driverName)

3.建立连接
Connection conn=DriverManager.getConnection(String url,String username,String password)

4)获取statement对象
Statement state = con.createStatement();
或者PreparedStatement preStm = con.preparedStatement(sql);

5)执行sql语句
Result rs = state.executeQuery(sql);
int i = state.executeUpdate(sql);
或者
Result rs = preStm.executeQuery(sql);
int i=state.executeQuery(sql)

6)遍历结果集
while(rs.next()){
……
}

7)关闭连接
按顺序从内到外关
rs.close();
state.close();
con.close();

Java连接数据库

在连接数据库之前得先导包

扫描二维码关注公众号,回复: 6651348 查看本文章

Java连接MySQL的最新驱动包下载地址:https://dev.mysql.com/downloads/connector/j/

下载后是一个.jar的压缩包。

方法一:在IDEA左上角选择——“file”,“Project structure”,右边 “+” 号,点第一个——“jars or directories”,找到下载驱动的位置,选中它,再点ok就可以了。成功后可以在IDEA的External Libraries目录下找到这个jar驱动。

方法二:右键复制.jar的驱动包,粘贴进某个package里,右键 as a libraries,也可以实现导包。

加载数据库驱动

 try {
            //加载驱动
            Class.forName("com.mysql.jdbc.Driver"); //使用try - catch 捕获异常,forName里面是固定格式
        } catch (Exception e) {
            e.printStackTrace();
        }

连接数据库

3306/test指的是连接到test这个数据库,后面是用户名和密码。

 //创建连接
        try {
            Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true&characterEncoding=utf-8","root","123456");
            return connection;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }

封装在一个类里

这个DBUtil类里有两个静态方法,一个是连接数据库,一个是关闭数据库资源

public class DBUtil {
        public static Connection connection(){
            try {
                //加载驱动
                Class.forName("com.mysql.jdbc.Driver");
            } catch (Exception e) {
                e.printStackTrace();
            }
            //创建连接
            try {
                Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true&characterEncoding=utf-8","root","123456");
                return connection;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            }
        }

        public static void close(Connection connection, Statement statement, ResultSet rs) {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (statement != null) {
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (connection != null) {
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
}

JDBC增删改查

我在这里将这4个功能封装起来,在UseService类中用4个静态方法实现。

增:

public static  void Add(){
        Scanner sc = new Scanner(System.in);
        String ID,Name,Password;
        Connection connection = DBUtil.connection();
        String sql = "insert into user (id,name,password) values (?,?,?)";
        try {
            PreparedStatement statement = connection.prepareStatement(sql);
            System.out.println("请输入ID");
            ID = sc.nextLine();
            System.out.println("请输入姓名");
            Name = sc.nextLine();
            System.out.println("请输入密码");
            Password = sc.nextLine();
            statement.setString(1,ID);
            statement.setString(2,Name);
            statement.setString(3,Password);
            statement.executeUpdate();
            System.out.println("添加成功");
        } catch (SQLException e) {
            e.printStackTrace();
        }

删:

public static  void Del(){
        Scanner sc = new Scanner(System.in);
        Connection connection = DBUtil.connection();
        String sql = "delete from user where id=?";
        try {
            PreparedStatement statement = connection.prepareStatement(sql);
            System.out.println("请输入ID");
            String ID = sc.nextLine();
            statement.setString(1,ID);
            statement.executeUpdate();
            System.out.println("删除成功");

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

改:

public static  void Update(){
        Scanner sc = new Scanner(System.in);
        Connection connection = DBUtil.connection();
        String sql = "update user set name = ? where name =?";
        try {
            PreparedStatement statement = connection.prepareStatement(sql);
            System.out.println("请输入你要修改的姓名");
            String no2 = sc.nextLine();   //修改前
            System.out.println("请输入新姓名");
            String no1 = sc.nextLine();   //修改后

            statement.setString(1,no1);
            statement.setString(2,no2);
            statement.executeUpdate();
            System.out.println("修改成功");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

查:

public  static void Display(){
        Connection connection = DBUtil.connection();
        String sql = "select * from user";
        try {
            PreparedStatement statement = connection.prepareStatement(sql);
            ResultSet resultSet = statement.executeQuery();
            while (resultSet.next()){
                System.out.println(resultSet.getString(1)+"\t"
                        +resultSet.getString(2)+"\t"
                        +resultSet.getString(3));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

通过 类名.方法名直接调用静态方法。

switch (choice){
    case 1:
        UserService.Add();
        break;
    case 2:
        UserService.Del();
        break;
    case 3:
        UserService.Display();
        break;
    case 4:
        UserService.Update();
        break;
    default: flag = false;
}

IDEA优化

(感谢二狗子的分享)

IDEA优化配置、提高启动和运行速度

因为默认的配置比较的坑,需要提升性能(开发最好内存要大一点)。这时候需要打开路径 D:\Program Files\JetBrains\IntelliJ IDEA 2018.2.2\bin 下的文件 idea64.exe.vmoptions 将里面的配置参数调整大一些,这样会提升性能,甚至可以秒开IDEA。
三个参数:-Xms 最小启动内存参数; //建议内存8G以上的电脑开512m
-Xmx最大运行内存参数; //建议内存8G以上的电脑开2048m
-XX保留缓存内存参数。//建议内存8G以上的电脑开512m

IDEA优化设置

在这里插入图片描述

IDEA常快捷键

Alt+shift+S以及alt+insert: 实现自动生成get,set以及构造方法;
Ctrl+d删除一行
Ctrl+shift+O导入包
Ctrl+shift+F格式化代码
Ctrl+shift+Y转换大小写
Ctrl+F查找(当前文件)
Ctrl+H全局查找
双击shift查找文件
Tab以及shift+tab整体代码向后、向前移动
Alt+/提示代码操作
Alt+shift+R重命名参数和方法
Ctrl+alt+向下键复制一行
Ctrl+/单行注释
Ctrl+shift+/多行注释
Alt+上下键 : 选中单行或者多行向上或者向下移动
Ctrl+shift+T查看源码(当前java文件有的类,直接ctrl+点进去即可)
Alt+enter生成返回值/纠错(eclipse中是ctrl+1)
Alt+左右方向键 跳转上一个或者下一个编辑页面
Ctrl+减号或者ctrl+加号收缩或者展开单个方法
Ctrl+shift+减号或者Ctrl+shift+加号展开或者收缩全部方法
Ctrl+shift+H查看方法重写结构
Ctrl+alt+H 查看方法调用者
F4选中类 查看类继承关系

猜你喜欢

转载自blog.csdn.net/zwqzwqzwq233/article/details/93757346
今日推荐