Java中连接数据库的封装类

Dbutil类封装连接数据库的操作!

下面展示一些 内联代码片

package javaUtil工具包;

import java.sql.Connection;
import java.sql.DriverManager;

/**
 * 数据库工具包
 */
public class DbUtil {

    private String jdbcName="com.mysql.jdbc.Driver";//jdbc驱动名称
    private String dbUrl="jdbc:mysql://127.0.0.1:3306/db_book?useSSL=false";//数据库连接地址
    private String dbUserName="root";//用户名
    private String dbPassWord="root";//密码

    /**
     * 获取数据库连接
     * @return
     * @throws Exception
     */
    public Connection getCon()throws Exception{
        Class.forName(jdbcName);//动态加载
        Connection con= DriverManager.getConnection(dbUrl,dbUserName,dbPassWord);//本地地址/账号/密码
        return con;
    }

    /**
     * 关闭数据库连接
     * @param con
     * @throws Exception
     */
    public void closeCon(Connection con)throws Exception{
        if(con!=null){
            con.close();
        }
    }

    public static void main(String[] args) {
        DbUtil dbu=new DbUtil();
        try {
            dbu.getCon();
            System.out.println("数据库连接成功!");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("数据库连接失败!");
        }
    }
    
}

用作其它类做连接数据库操作时,的封装类!
直接调用

private DbUtil dbUtil=new DbUtil();//数据库操作
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Java 的 JDBC API 连接数据库,并使用数组排序来对查询结果进行排序。以下是一个示例代码: ```java import java.sql.*; import java.util.*; public class DatabaseSorter { private Connection conn; public DatabaseSorter(String url, String user, String password) throws SQLException { conn = DriverManager.getConnection(url, user, password); } public List<Map<String, Object>> executeQuery(String sql, String[] orderColumns) throws SQLException { List<Map<String, Object>> result = new ArrayList<>(); try (PreparedStatement stmt = conn.prepareStatement(sql)) { ResultSet rs = stmt.executeQuery(); ResultSetMetaData rsmd = rs.getMetaData(); int colCount = rsmd.getColumnCount(); while (rs.next()) { Map<String, Object> row = new HashMap<>(); for (int i = 1; i <= colCount; i++) { row.put(rsmd.getColumnName(i), rs.getObject(i)); } result.add(row); } } Collections.sort(result, new Comparator<Map<String, Object>>() { @Override public int compare(Map<String, Object> row1, Map<String, Object> row2) { for (String col : orderColumns) { Comparable val1 = (Comparable) row1.get(col); Comparable val2 = (Comparable) row2.get(col); int cmp = val1.compareTo(val2); if (cmp != 0) { return cmp; } } return 0; } }); return result; } public void close() throws SQLException { conn.close(); } public static void main(String[] args) throws SQLException { String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "root"; DatabaseSorter sorter = new DatabaseSorter(url, user, password); String sql = "SELECT * FROM employees"; String[] orderColumns = {"salary", "age"}; List<Map<String, Object>> result = sorter.executeQuery(sql, orderColumns); for (Map<String, Object> row : result) { System.out.println(row); } sorter.close(); } } ``` 在此示例,我们使用 JDBC API 连接到 MySQL 数据库,并使用匿名内部实现了一个 `Comparator` 接口来对查询结果进行排序。我们还使用了 `Map` 来表示每一行查询结果,并使用了 `List` 来存储整个查询结果。最终输出了按照 `salary` 和 `age` 字段进行排序后的查询结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值