Java项目操作数据库学习篇

前言:从oceanconnect获得的实时数据推送里面不包含设备的nodeid和device name。但是!
1)往thingsboard发需要node id

2)往OBD中心平台发需要device name

因此,需要配一个属于oc的数据库,用来根据deviceid 查node和设备名字。(直接访问数据库应该会快一点吧)

Java项目访问数据库有JDBC和myBatis

     JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。

JDBC常用的类和接口有:

1、驱动程序管理类(DriverManager)

2、声明类(Statement):用于将SQL语句发送到数据库中

3、数据库连接类(Connection):代表与数据库的链接

4、结果集合类(ResultSet):ResultSet包含符合SQL语句中条件的所有行记录

下面是一个最简单数据库连接处理的过程:

需要先在lib里加入postgresql和mybatis的jar包(mybatis在JDBC里用不到,先都导入了再说),右键项目build path,add jar包选择刚添加的两个,然后apply。

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class javaTest {
   
    public static void main(String[] args) throws ClassNotFoundException, SQLException  {
        String URL="jdbc:mysql://127.0.0.1:3306/imooc?useUnicode=true&characterEncoding=utf-8";
        String USER="root";
        String PASSWORD="tiger";
        //1.加载驱动程序
        Class.forName("com.mysql.jdbc.Driver");
        //2.获得数据库链接
        Connection conn=DriverManager.getConnection(URL, USER, PASSWORD);
        //3.通过数据库的连接操作数据库,实现增删改查(使用Statement类)
        Statement st=conn.createStatement();
        ResultSet rs=st.executeQuery("select * from user");
        //4.处理数据库的返回结果(使用ResultSet类)
        while(rs.next()){
            System.out.println(rs.getString("user_name")+" "
                          +rs.getString("user_password"));
        }
        
        //关闭资源
        rs.close();
        st.close();
        conn.close();
    }
}

详见这两篇文章:

https://www.cnblogs.com/erbing/p/5805727.html

https://www.cnblogs.com/xiaotiaosi/p/6394554.html

 

2、用mybatis实现

        MyBatis是一个支持普通SQL查询存储过程高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。

我的浅薄理解就是mybatis封装了JDBC代码。

具体参考:https://www.cnblogs.com/xdp-gacl/p/4261895.html

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值