这边文章大多数人应该用不上吧
写 Java程序 试试能同时支持多种数据库吧!
写一个配置文件 ConfigDataBase.ini 放在src下 调用目录为 /WEB-INF/classes/cn/jinesc/financial/ConfigDataBase.ini
用ServletContext调用 具体方法不说了, 自己去查吧!
文件内容如下:
JDBC_DRIVER =com.mysql.jdbc.Driver DB_URL =jdbc:mysql://服务器地址:3306/数据库名 UserName=用户 Password=密码
JDBC_DRIVER就是链接字符根据需要换, 我这里因为经常换数据库类型 SQL SERVER和mySQL 来回切换
定义全局变量
Connection cn = null; public String JDBC_DRIVER=""; public String DB_URL=""; public String UserName=""; public String Password=""; public void init() { message = "Hello World!"; //获取配置文件 // ServletContext context=this.getServletContext(); InputStream in=context.getResourceAsStream("/WEB-INF/classes/cn/jinesc/financial/ConfigDataBase.ini"); Properties pros=new Properties(); try { pros.load(in); JDBC_DRIVER=pros.getProperty("JDBC_DRIVER"); DB_URL=pros.getProperty("DB_URL"); UserName=pros.getProperty("UserName"); Password=pros.getProperty("Password"); System.out.println(JDBC_DRIVER); } catch (IOException e) { e.printStackTrace(); } if (JDBC_DRIVER!=""){ try { Class.forName(JDBC_DRIVER); System.out.println("数据库驱动加载成功"); cn = DriverManager.getConnection(DB_URL, UserName, Password); System.out.println("数据库连接成功"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch(SQLException e2) { System.out.println("数据库连接失败"); } } } //简单得做个测试 public void chkPass(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setContentType("text/html"); response.setHeader("content-type","text/html;charset=utf-8"); PrintWriter out = response.getWriter(); try { String sql = "SELECT username,password FROM users order by username "; Statement stat = cn.createStatement(); ResultSet r = stat.executeQuery(sql);//定义ResultSet类,用于接收获取的数据 while (r.next()) { out.println("username=" + r.getString("username") + ""); out.println("password=" + r.getString("password") + "</br>"); } }catch(SQLException e) { e.printStackTrace(); } } public void destroy() { try { cn.close(); }catch(Exception e) { e.printStackTrace(); } } }
附: 另一个教程
package com.runoob.test; import java.sql.*; public class MySQLDemo { // MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB"; // MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL //static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; //static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"; // 数据库的用户名与密码,需要根据自己的设置 static final String USER = "root"; static final String PASS = "123456"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // 注册 JDBC 驱动 Class.forName(JDBC_DRIVER); // 打开链接 System.out.println("连接数据库..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); // 执行查询 System.out.println(" 实例化Statement对象..."); stmt = conn.createStatement(); String sql; sql = "SELECT id, name, url FROM websites"; ResultSet rs = stmt.executeQuery(sql); // 展开结果集数据库 while(rs.next()){ // 通过字段检索 int id = rs.getInt("id"); String name = rs.getString("name"); String url = rs.getString("url"); // 输出数据 System.out.print("ID: " + id); System.out.print(", 站点名称: " + name); System.out.print(", 站点 URL: " + url); System.out.print("\n"); } // 完成后关闭 rs.close(); stmt.close(); conn.close(); }catch(SQLException se){ // 处理 JDBC 错误 se.printStackTrace(); }catch(Exception e){ // 处理 Class.forName 错误 e.printStackTrace(); }finally{ // 关闭资源 try{ if(stmt!=null) stmt.close(); }catch(SQLException se2){ }// 什么都不做 try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("Goodbye!"); } }
发表评论