自定义一个注解来获取数据库的链接

自定义一个注解来获取数据库的链接

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface JdbcInfo {
String driverClass() default “com.mysql.jdbc.Driver”;
String url();
String username() default “root”;
String password() default “1012”;
}


import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.DriverManager;

public class JdbcUtils {
@JdbcInfo(url = “jdbc:mysql://localhost:3306/day16”)
public static Connection getConnection() throws Exception{
//获取字节码文件
Class clazz = JdbcUtils.class;
//获取getConnection()
Method method = clazz.getMethod(“getConnection”, null);
if(method.isAnnotationPresent(JdbcInfo.class)){//判断方法上是否有注解
//获取注解
JdbcInfo jdbcInfo = method.getAnnotation(JdbcInfo.class);
//获取四大参数
String driverClass = jdbcInfo.driverClass();
String url = jdbcInfo.url();
String username = jdbcInfo.username();
String password = jdbcInfo.password();
//注册驱动
Class.forName(driverClass);
Connection connection = DriverManager.getConnection(url, username, password);
//获取连接
return connection;
}
return null;
}
public static void main(String[] args) throws Exception {
System.out.println(getConnection());
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100805.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • OpenCV-Python实战(17)——人脸识别详解

    OpenCV-Python实战(17)——人脸识别详解随着计算机视觉、机器学习和深度学习的发展,人脸识别已经成为一个热门话题。人脸识别具有广泛的应用前景,包括犯罪预防、智能监视以及社交网络。在本文中,我们介绍OpenCV提供的与人脸识别相关的函数,同时还将探索一些用于人脸识别的深度学习方法,这些方法可以轻松集成到计算机视觉项目中以实现高精度的人脸识别。

    2022年5月18日
    35
  • HostMyBytes

    HostMyBytes 推荐配置:Hostmybytes KVMVPS512MBRAM(SS+BBR加速几乎不占用内存,三四个小站没问题).BudgetVPSHostingPackages:Locationsavailablein:LosAngelesandLondonUK!128MB RAMVPS- $6/year 768MB RAMVPS- …CLICKL…

    2022年7月12日
    24
  • PermitRootLogin yes无效问题或SSH登录时报Permission denied, please try again.

    PermitRootLogin yes无效问题或SSH登录时报Permission denied, please try again.在这里,说一下所有解决办法吧,总有一个适合你:如果没有安装ssh,即看不见PermitRootLogin,则使用如下语句安装:sudoapt-getinstallopenssh-server 使用vim/etc/ssh/sshd_config进入,将PermitRootLogin设置为yes,之后systemctlrestartsshd进行重启。3. ssh用户名,大写更改为小写 更改登陆密码,改为6…

    2022年6月4日
    53
  • 360天擎默认卸载密码_Debian(Ubuntu/Kali)下wine的从安装、使用和卸载「建议收藏」

    360天擎默认卸载密码_Debian(Ubuntu/Kali)下wine的从安装、使用和卸载「建议收藏」安装wine1、安装wine32因为32位的wine可以运行32位和64位的应用程序,而64位的只能运行64位程序而在我修改这篇文章的时候,wine5.0已经出了,亲测这种方法安装的就是5.0版本的打开终端,依次执行sudodpkg–add-architecturei386sudoaptupdatesudoaptinstallwine如果安装过程有错误提示,一般按着提示输入命令…

    2022年9月24日
    2
  • 如何在pycharm中安装selenium「建议收藏」

    如何在pycharm中安装selenium「建议收藏」发现问题:出现未解析引用解决问题:打开设置中的项目,可以看到没有安装selenium库点击+号搜索selenium并安装包

    2022年8月28日
    5
  • 【机房重构】“ConnectionString属性尚未初始化”「建议收藏」

    【机房重构】“ConnectionString属性尚未初始化”「建议收藏」机房重构ing。在每个学习中一直陪伴我们左右的,还是那些大大小小的问题,正因为它们的存在,才让我们的学习有了收获,有了纠结,也有了乐趣。这几天一直在研究sqlhelper和泛型集合的使用,很那什么的说,纠结了几天,今天算是有点结果了,但是结果永远不会轻松而至,看,问题又来了。

    2022年7月15日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号