Java实用技巧归纳(更新中)

  1. IDEA 如何快速生成 @params 注解?

在方法的上方一行, 输入 /** 然后回车,即可自动生成。

  1. 如何快速无鼠标运行项目?

使用ctrl+shift+A来输入我们要使用的操作。比如说,Rebuild Project。你可以先使用ctrl+shift+A快捷键,然后输入Rebuild Project并回车,即可执行你要的操作。

  1. 如何编译并执行当前项目?

shift + F10

  1. 解决 IDEA 中文乱码?
    设置 请求方法:
    request.setCharacterEncoding("utf-8")
     设置 响应的方法:
    response.setContentType("html/text;charset=utf-8");
    终极方法vm: -Dfile.encoding=UTF-8
    

在这里插入图片描述

  1. IDEA 快速 try/catch, (需要先选中你需要捕获的代码块)

快捷键: Ctrl + alt + T

  1. QueryRunner query如何返回int类型?
return ((Long) qr.query(sql, new ScalarHandler())).intValue();
  1. 点击a标签刷新当前页面
<a href="javascript:location.reload();">刷新</a>
  1. 如何解决代码下面出现如图警告线?
    在这里插入图片描述
    解决: 添加注解: @SuppressWarnings(“all”)
    在这里插入图片描述
  2. mybatis 当实体类中字段名和数据库里字段名不一致时,如何解决?
    在这里插入图片描述
    mybatis-config.xml 添加如下代码:
<setting name="mapUnderscoreToCamelCase" value="true"/>

在这里插入图片描述

  1. windows下MySQL5.7.20报msvcr120.dll错误咋办?
    在这里插入图片描述

下载vc运行库,双击安装后即可!
在这里插入图片描述

下载地址:
http://www.winwin7.com/soft/xtbd-216.html#xiazai

  1. mybatis中 #{ }${ } 在使用中的技巧和建议?

    1. ${ } 为字符串替换,即 sql 拼接, 相当于statement,不预编译,可能导致sql注入; 对应的变量不会加单引号 ’ ’
    2. #{ } 为参数占位符 ?,即sql 预编译,相当于使用 preparedStatement,更安全; 对应的变量自动加上单引号 ’ ’
    (1)不论是单个参数,还是多个参数,一律都建议使用注解@Param("") 
    (2)能用 #{} 的地方就用 #{},不用或少用 ${}  
    (3)表名作参数时,必须用 ${}。如:select * from ${tableName} 
    (4)order by 时,必须用 ${}。如:select * from t_user order by ${columnName} 
    (5)使用 ${ } 时,要注意何时加或不加单引号,即 $ { }' $ { } '
    
  2. Java 原生分页算法( mybatis分页插件单独列出一篇)

代码没必要复制,关键看清逻辑,复制粘贴没什么用!

在这里插入图片描述
13. 时间格式转换,调用 format 方法,传入 date。
在这里插入图片描述
输出:
在这里插入图片描述
14. macbookPro spring boot 项目启动缓慢

控制台显示:InetAddress.getLocalHost().getHostName() took 5004 milliseconds to respond. Please verify your network configuration (macOS machines may need to add entries to /etc/hosts).

只需要去修改 host 文件,把本机 hostname 添加到 host 文件!
1.获取本机 hostname: 控制台输入命令:

hostname

在这里插入图片描述
我的本机名为:macdeMacBook-Pro.local
2.打开并编辑 host 文件

vim  /private/etc/hosts

3.添加主机名 :wq保存并退出

127.0.0.1              localhost      你的机器名.local
255.255.255.255      broadcasthost
::1                    localhost      你的机器名.local

再次启动 springboot 发现启动速度快了很多,警告提示也消失了。

  1. @Autowire和@Resource 的区别?

我是强迫症,看不了@Autowire 下面有警告波浪线,逼着我搞清楚他们之前的区别,有时候单独写@Resource 无法成功注入,需要添加 name 属性。

在 controller 里注入 service 时,使用@Resource 时,需要在 service 类上加@Service 注解,否则无法扫描到!

	// @Autowired
    @Resource(name = "hospitalSetServiceImpl")
    private HospitalSetService hospitalSetService;

@Resource无法使用在构造参数中,@Autowired支持required属性。从面向对象来说,@Resource更加适用于多态性的细粒度注入,而@Autowired更多专注于多态的单例注入

@Resource注解由J2EE提供,需要导入包javax.annotation.Resource。
@Resource默认按照ByName自动注入。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值