Java封装简化(只有登录查询)

DBuit:简化封装

package cn.hp.DBuit;
​
import cn.hutool.db.DbUtil;
​
import java.sql.*;
import java.util.*;
​
public class DBuit {
//常量大写
    private static final String  URL = "jdbc:mysql://127.0.0.1:3306/mydb?serverTimezone=UTC&characterEncoding=utf8";
    private static final String NAME = "root";
    private static final String PASSWORD = "123456";
    private static final String DRIVER = "com.mysql.jdbc.Driver";
    private static Connection con=null;
    private static PreparedStatement ps=null;
    private static ResultSet rs=null;
    //加载数据库驱动
    //static静态代码块,在jvm加载类的时候启用,在一个类中可以有多个static代码块,根据static的顺序来运行
    static {
        try {
            Class.forName(DRIVER);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
​
    /**
     * 获取数据库连接
     * @return
     */
    public static Connection getCon(){
        try {
            con = DriverManager.getConnection(URL,NAME,PASSWORD);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return con;
    }
​
​
​
    //查询(用List泛型存俩值)
    public List<Map> select(String sql, Object... obj) {
        List<Object> objects = Arrays.asList(obj);
        //使用Map集合,可以不需要再封装数据库
        List<Map> list=new ArrayList<>();
        //获取数据库连接
        con = DBuit.getCon();
        try {
            ps = con.prepareStatement(sql);
            //赋予预编译对象的值
            //(sql+" ").split("\\?")    sql+" "这里的空格切记不能少       长度的下标从0开始起,所以?的数量要减去1
            for (int i = 0; i < (sql+" ").split("\\?").length - 1; i++) {
                ps.setObject(i + 1, objects.get(i));
            }
            rs = ps.executeQuery();
            //ResultSetMetaData 可用于获取关于 ResultSet 对象中列的类型和属性信息的对象
            //getMetaData()   得到数据集的列数
            ResultSetMetaData metaData=rs.getMetaData();
            while(rs.next()){
                Map map = new HashMap();
                //循环获取数据  这里的下标是从1开始
                for (int i = 1; i <= metaData.getColumnCount()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java封装MQTT自动装配是指在使用Java编程语言时,使用封装的方式来自动配置和使用MQTT(Message Queuing Telemetry Transport)协议。 MQTT是一种基于发布/订阅模式的轻量级消息传输协议,常用于物联网应用中的数据通信。 在Java中,可以通过封装简化MQTT的配置和使用过程。首先,我们可以创建一个独立的类,用于管理MQTT连接和消息发布/订阅。该类可以包含MQTT连接的配置参数,例如服务器地址、端口号和连接选项等。通过封装,我们可以提供一组简洁的接口方法,用于连接服务器、发布消息和订阅主题等操作。这样,使用者只需要调用封装类的方法,就能方便地使用MQTT功能,而无需关注具体的配置和底层实现细节。 另外,Java封装MQTT自动装配的一个重要功能是自动发现和连接可用的MQTT服务器。我们可以编写代码来自动扫描局域网中的设备,或者配置一个内部的服务器列表,使其自动与可用的服务器建立连接。这样,无论MQTT服务器的地址如何变化,我们都能保证Java程序始终能够连接到可用的服务器。 总之,通过Java封装MQTT自动装配,我们可以以一种简洁、高效的方式使用MQTT协议,实现物联网应用中的数据通信功能。通过封装和自动装配,我们能够更加方便地配置和管理MQTT连接,并且减少开发者的工作量,提高代码的可维护性和可扩展性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值