其中CallerClass()是反射中的⼀个⽅法,这个⽅法⽤来返回他的调⽤类,也就说是哪个类调⽤了这个⽅
法,Reflection类位于调⽤栈中的0帧位置,在JDK7以前,该⽅法可以传⼊int n返回调⽤栈中从0帧开始的第n帧中的类,在JDK7中,需要设置java命令⾏选项flect.allowGetCallerClass来使⽤该⽅法,到了JDK8时,再调⽤该⽅法会导致UnsupportedOperationException异常。
JDK8中getCallerClass使⽤⽅法变更为getCallerClass(),CallerClass()⽅法调⽤所在的⽅法必须⽤
@CallerSensitive进⾏注解,通过此⽅法获取class时会跳过链路上所有的有@CallerSensitive注解的⽅法的类,直到遇到第⼀个未使⽤该注解的类,避免了⽤CallerClass(int n) 这个过时⽅法来⾃⼰做判断。
在这⾥每个getConnection都是⽤CallerSensitive修饰的,调⽤getCallerClass应该是获取外⾯使⽤
Connection() ⽅法⽤于获得试图建⽴到指定数据库 URL 的连接。DriverManager 试图从已注册的JDBC 驱动程序集中选择⼀个适当的驱动程序。
语法1
getConnection(String url)
参数说明:
url:访问数据库的 URL 路径。
⽰例
下⾯的代码利⽤ getConnection ⽅法创建与 MySQL 数据库的连接,并返回连接对象。
public Connection getConnection(){
Connection con=null;
try{
Class.forName("sql.jdbc.Driver"); //注册数据库驱动
String url = "jdbc:mysql://localhost:3306/test?user=root&password=root"; //定义连接数据库的url
con = Connection(url); //获取数据库连接
System.out.println("数据库连接成功!");
}catch(Exception e){
e.printStackTrace();
}
return con; //返回⼀个连接
}
语法2
getConnection(String url,Properties info)
参数说明:
url:访问数据库的 URL 路径。
info:是⼀个持久的属性集对象,包括 user 和 password 属性。
⽰例
下⾯的代码利⽤ getConnection ⽅法第⼀种语法格式,创建与 MySQL 数据库的连接,并返回连接对象。
public Connection getConnection(){
Connection con = null; //定义数据库连接对象
Properties info = new Properties(); //定义Properties对象
info.setProperty("user","root"); //设置Properties对象属性
info.setProperty("password","root");
try{
Class.forName("sql.jdbc.Driver"); //注册数据库驱动
String url = "jdbc:mysql://localhost:3306/test"; //test为数据库名称
con = Connection(url,info); //获取连接数据库的Connection对象
System.out.println("数据库连接成功!");
}catch(Exception e){
e.printStackTrace();
}
return con;//返回⼀个连接
}
语法3
Connection(String url,String user,String password)
参数说明:
url:访问数据库的 URL 路径。
user:是访问数据库的⽤户名。
password:连接数据库的密码。
典型应⽤
下⾯的代码利⽤ getConnection ⽅法创建与 SQL Server 数据库的连接,并返回连接对象。与数据库建⽴连接成功后的运⾏结果。代码如下:
private Connection con;
private String user = "sa"; //定义连接数据库的⽤户名
private String password = ""; //定义连接数据库的密码
private String className = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
private String url = "jdbc:sqlserver://localhost:1433;DatabaseName=db_database01"; /**创建数据库连接*/
public Connection getCon(){
try{
Class.forName(className);//加载数据库驱动
System.out.println("数据库驱动加载成功!");
con = Connection(url,user,password); //连接数据库
System.out.println("成功地获取数据库连接!");
}catch(Exception e){
System.out.println("创建数据库连接失败!");
con = null;java连接sqlserver数据库
e.printStackTrace();
}
return con;
}
运⾏结果如下:
数据库驱动加载成功!
成功地获取数据库连接!
到此这篇关于Connection()获取数据库连接的⽂章就介绍到这了,更多相关Connection() 内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论