实习日记--day2

IDEA的优化

(来自二狗子的分享)

工欲善其事,必先利其器。

IDEA安装优化

安装的时候不要勾选关联文件后缀名
安装的时候不要勾选关联文件后缀名
安装的时候不要勾选关联文件后缀名(重要的事情说三遍)
会影响性能,不取消绝对会后悔的!

IDEA启动及运行参数设置

打开IDEA安装目录下的bin文件夹,找到idea64.exe.vmoptions文件,用记事本或者文本编辑器打开,把里面的配置参数开大一点。(默认设置比较坑爹,所以导致很多小伙伴在启动时都比较慢)其中的三个参数分别表示:
-Xms 最小内存启动参数
-Xmx 最大内存运行参数
-XX 保留内存缓存参数
(以下是楼主的设置,可能不是最合理的设置,但启动速度确实是快了一些)
在这里插入图片描述

IDEA优化设置(附常用快捷键)

(感觉插入太多图片会严重影响阅读效率,所以这部分没有插图请见谅)

1)工具栏。View–>Toolbar打勾即可显示工具栏。
2)设置鼠标悬浮显示。File–>Settings–>Editor --> General --> Other --> Show quick documentation on mouse move 打勾,延时默认500ms即可。
3)显示方法分隔符。File–>Settings–> Editor --> General --> Appearance --> Show method separators打勾。
4)忽略大小写提示。File–>Settings–> Editor --> General --> Code Completion --> Match case 去掉这个勾即可。
5)自动导包(这个很重要,谁用谁知道)。File–>Settings–> Editor --> General --> Auto Import --> Java --> Insert imports on paste调整为All,将Add unambiguous imports on the fly 和 Optimize imports on the fly打勾。
6)取消单行显示Tabs。File–>Settings–>Editor --> General --> Editor Tabs --> Show tabs in one row的勾去掉即可。
7)设置字体。File–>Settings–> Editor --> Font–>Size推荐字体大小为14(具体还是根据个人喜好)。
8)设置文件编码。File–>Settings–> Editor --> File Encodings 将页面里所有的编码方式都设置为UTF-8。其中的Transparent native-to-ascii conversion打勾。
9)设置自动编译。 File–>Settings–>Build,Execution,Deployment --> Compiler 把其中的 Build project automatically 和 Compile independent modules in parallel 打勾即可。
(后面两条推荐给习惯了eclipse的小伙伴)
*10)快捷键设置。File --> Settings --> Keymap 将Default改为Eclipse。
*11)两个常用快捷键的设置(具体还是根据个人喜好)。
main方法:File --> Settings --> Editor --> Live Templates --> other --> psvm设置为main 。
输出语句: File --> Settings–> Editor --> Live Templates --> output --> sout设置为syso。

附: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选中类 查看类继承关系

补充内容

(下面的内容楼主也没有去尝试,供参考)

  • IDEA module项目建立
    1)eclipse中有workspace,在idea中使用module项目进行建立。
    2)删除module项目的时候一定要注意,要先把依赖给删除了,点击右键,先Remove module;再点右键Delete,这样才不会存在任何的后遗症。

  • IDEA新建静态WEB项目
    1)新建module项目 --> Static Web项目 --> Static Web --> 运行项目直接点击右键Run项目就可以了。

  • IDEA新建普通动态WEB项目
    1)新建module项目 --> Java项目 --> Java EE选择Web Application(4.0)版本只能选择4.0;这边需要勾选web.xml文件的。
    2)下面开始配置下本地Tomcat:
    Run --> Edit Configurations 加号添加一个服务Tomcat Server加一个Local;取个名字Tomcat8;配置一个Tomcat服务器;Deployment部署的时候:添加一个DynamicPro:war exploded,在Application context中也添加一个 /DynamicPro。

  • IDEA新建复杂动态WEB项目
    1)新建module项目 --> Java项目 --> Java EE选择Web Application(4.0)版本只能选择4.0;这边需要勾选web.xml文件的。
    2)不要将项目直接复制进来,这种方式是非常卡的,点击右键在里面有个选项叫做Mark Directory as 中有个Excluded,项目会变颜色;通过这种方式再将项目复制进来。
    3)创建lib文件夹,将外部包jar复制到lib文件夹下。
    4)web.xml的配置。
    5)src源码包复制进来。架包的引入 File --> Project Structure --> 进入会有Dependencies依赖选项 --> 添加Libraries --> 加载一个外部的Tomcat7,添加lib文件夹的依赖。
    6)Edit Configurations中添加启动项目。
    7)转化乱码的问题。

JDBC入门

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成(来自百度百科)。
在作为初学者的楼主看来这个大概就是一个JAVA里使用数据库的一个程序模板,反正套着这个模板就能实现在JAVA程序中对数据库增删改查的基本操作(当然,前提是你对结构化查询语言也有一定的基础)。
以下以一个简陋的测试程序来说明JDBC的基本步骤:

准备工作

用SQLyog(当然对sql比较熟练的小伙伴也可以在MYSQL Command Line Client里实现,但是傻瓜式的软件没有不用的理由)建立一个数据库"jdbc",然后在"jdbc"中创建一个表"jdbc_user",然后事先在这个表中输入一些测试用的数据。
在这里插入图片描述

新建工程

打开IDEA,创建一个新的项目(这里楼主用的是1.8版本的jdk,第一次新建项目的小伙伴需要自行设置Project SDK)
在这里插入图片描述
在这里插入图片描述在scr目录下新建(new)一个Java Class,并将其命名为com.lee.test在这里插入图片描述导入jar包,File–>Project Structure(或者使用快捷键Ctrl+Alt+Shift+S)打开如下界面,选择Modules,再点击右边的那个"+“号,选择第一个选项"JARs or directories”。
在这里插入图片描述
楼主这里用的是"mysql-connector-java-5.1.36.jar",导入成功后如下图所示
在这里插入图片描述准备工作到这就算是全部完成了。接下来就可以编写JAVA代码了。

JDBC的基本步骤

  • 加载驱动
  • 创建连接
  • 写sql语句
  • 得到statement对象
  • 执行sql语句得到结果集
  • 处理结果集
  • 关闭资源

1.加载驱动。

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

如果我们直接写入这段代码会发现"forName"的下面会出现红线在这里插入图片描述
这时候就可以使用上文提到的"Alt+enter生成返回值/纠错"来解决这个问题了(后面也会经常遇到这个问题,以后不再赘述)。用鼠标点击红线处的代码,将光标移动到红线附近,然后按下"Alt+enter"后选择第二个"Surround with try/catch"即可。在这里插入图片描述
选择完成后自动会生成"try/catch"的代码
在这里插入图片描述为了减少"try/catch"的数量,我们可以把"catch"括号中的"ClassNotFoundException"改为它的父类"Exception",从而我们可以直接把之后的步骤直接写在这一个"try/catch"中。
在这里插入图片描述2.创建连接。

 Connection  connection = DriverManager.getConnection
                    ("jdbc:mysql://127.0.0.1:3306/jdbc?useSSL=true&"+
                            "characterEncoding=utf-8&user=root&password=******");

其中"password"后的星号用你自己设置的数据库密码替换,如果数据库没有使用默认的端口号"3306"的话,请将代码中的"3306"换成你自己的端口号。

3.写sql语句。
这里以查询语句为例。

  String sql="select * from jdbc_user";

4.得到statement对象。

 PreparedStatement statement = connection.prepareStatement(sql);

5.执行sql 得到结果集。

 ResultSet resultSet =statement.executeQuery();

6.处理结果集。这里用简单的输出为例。

  while(resultSet.next()){
                System.out.println(resultSet.getInt(1));
                System.out.println(resultSet.getString(2));
                System.out.println(resultSet.getString(3));

            }

7.关闭资源。

 if(resultSet!=null) {
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(statement!=null)
        {
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(connection!=null)
        {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

运行结果如下
在这里插入图片描述在这里插入图片描述最后说几句:
1)关于加载驱动和创建连接部分的技术细节请感兴趣的小伙伴自行了解,楼主觉得这个在入门阶段没有必要知道得那么详细。
2)要实现剩下的增删改功能时,不需要定义"ResultSet"对象获得结果集,也就不需要对结果集进行处理,只需要在执行完SQL语句后加入下面这一行用于记录执行的sql语句执行后影响的行数和执行更新表 SQL 语句的代码即可。

 int num=statement.executeUpdate();

3)如果要一次实现增删改查四项功能时,可以将加载驱动、建立连接和关闭资源的部分都写入一个"util"工具类,之后只用调用这个工具类的相应方法即可,这样做可以避免出现很多重复的代码。

附:完整test程序代码

package com.lee;

import java.sql.*;

public class test {
    public static void main(String[] args) {
        Connection connection=null;
        PreparedStatement statement=null;
        ResultSet resultSet=null;

        try {
            //1.加载驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.创建连接
            connection = DriverManager.getConnection
                    ("jdbc:mysql://127.0.0.1:3306/jdbc?useSSL=true&"+
                            "characterEncoding=utf-8&user=root&password=******");
             //注意将星号换成自己的password
            System.out.println("创建连接成功");
            //3.写sql语句
            String sql="select * from jdbc_user";
            //4.得到statement对象
            statement = connection.prepareStatement(sql);
            //5.执行sql 得到结果集
            resultSet =statement.executeQuery();
            //6.处理结果集
            while(resultSet.next()){
                System.out.println(resultSet.getInt(1));
                System.out.println(resultSet.getString(2));
                System.out.println(resultSet.getString(3));
            }
            System.out.println("数据查询成功成功");
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            //7.关闭资源
            if(resultSet!=null) {
                try {
                    resultSet.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();
                }
            }

        }
    }
}

革命尚未成功,同志仍需努力。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值