java jdbc配置文件读取数据_JDBC通过配置文件(properites)读取数据库配置信息

扫盲:

Classloader 类加载器,用来加载 Java 类到 Java 虚拟机中。与普通程序不同的是。Java程序(class文件)并不是本地的可执行程序。当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader。

JVM本身包含了一个ClassLoader称为Bootstrap ClassLoader,和JVM一样,BootstrapClassLoader是用本地代码实现的,它负责加载核心JavaClass(即所有java.*开头的类)。另外JVM还会提供两个ClassLoader,它们都是用Java语言编写的,由BootstrapClassLoader加载;其中Extension ClassLoader负责加载扩展的Javaclass(例如所有javax.*开头的类和存放在JRE的ext目录下的类),ApplicationClassLoader负责加载应用程序自身的类。

当运行一个程序的时候,JVM启动,运行bootstrapclassloader,该ClassLoader加载java核心API(ExtClassLoader和AppClassLoader也在此时被加载),然后调用ExtClassLoader加载扩展API,最后AppClassLoader加载CLASSPATH目录下定义的Class,这就是一个程序最基本的加载流程。

一:工具类

1 package Jdbc_Test;2

3 import java.io.IOException;4 import java.io.InputStream;5 import java.sql.Connection;6 import java.sql.DriverManager;7 import java.sql.ResultSet;8 import java.sql.Statement;9 import java.util.Properties;10

11 public classjdbcutils {12 privatejdbcutils(){};13 private staticConnection con;14 public static voidmain(String[] args)throws IOException{15

16

17 }18 public staticConnection getCon(){19 /*

20 通过读取properites配置文件来获取数据库连接信息。21 通过类加载器,读取当前父目录的配置文件。通过class.getClassLoader方法getResourceAstream获取配置文件的22 内容,然后通过IO流处理properites文件获取对应的key值。23 配置文件便于灵活配置数据库信息。24 */

25 InputStream inp=jdbcutils.class.getClassLoader().getResourceAsStream("database.properties");26 Properties pro=newProperties();27 try{28 pro.load(inp);29 }catch(Exception ex){30 throw new RuntimeException(ex+"读取配置文件失败!");31 }32 try{33 String Drverclass = pro.getProperty("Driver.class");34 String url = pro.getProperty("Url");35 String username = pro.getProperty("username");36 String password = pro.getProperty("password");37 Class.forName(Drverclass);38 con =DriverManager.getConnection(url, username, password);39 }catch(Exception ex){40 throw new RuntimeException(ex+"数据库连接失败!");41 }42 returncon;43 }44 public static voidcls_re(Connection con, Statement sta, ResultSet re){45 if(con!=null){46 try{47 con.close();48 }catch(Exception ex){}49 }50 if(sta!=null){51 try{52 sta.close();53 }catch(Exception ex){}54 }55 if(re!=null){56 try{57 re.close();58 }catch(Exception ex){}59 }60

61 }62 public static voidcls_re(Connection con, Statement sta){63 if(con!=null){64 try{65 con.close();66 }catch(Exception ex){}67 }68 if(sta!=null){69 try{70 sta.close();71 }catch(Exception ex){}72 }73

74 }75 }

二:测试代码:

1 package Jdbc_Test;2

3 import java.sql.Connection;4 import java.sql.PreparedStatement;5 import java.sql.ResultSet;6 import java.util.ArrayList;7 import java.util.List;8

9 public classjdbc_test {10 public static voidmain(String... args)throws Exception{11 Connection con =jdbcutils.getCon();12 PreparedStatement pre=con.prepareStatement("select * from system_user");13 ResultSet re=pre.executeQuery();14 List lis =new ArrayList();15 while(re.next()){16 Sys_User sys=new Sys_User(re.getString("username"),re.getString("password"));17 lis.add(sys);18 }19 System.out.print(lis);20 }21 }22 classSys_User{23 privateString username;24 privateString password;25 publicSys_User(String username ,String password){26 this.username=username;27 this.password=password;28 }29

30 @Override31 publicString toString() {32 String info=this.username+" "+this.password;33 returninfo;34 }35 }

properites配置文件:

1 Driver.class=com.mysql.jdbc.Driver2 Url=jdbc:mysql://192.168.147.146:3306/homework_day13

3 username=test4 password=123456

需要注意配置文件中不能有双引号 !

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值