操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    目錄

    前言:

    大家都知道java從數據庫獲取圖片,我們java程序員最基本的事情就是對數據庫的增刪改查操作,本次就讓我來講講簡單的增刪改查。其中需要的工具為ideal,還需要數據庫的jar包。今天我就來教大家如何只寫一個查詢方法就可以查詢所有的表,并且可以添加任何條件

    1.普通查詢方法 1.1實現步驟 1.1.1預加載

    Class.forName(com.mysql.jdbc.Driver)

    此為5版本mysql的預加載方式

    Class.forName(com.mysql.cj.jdbc.Driver)

    此為8版本的數據庫預加載方式

    1.1.2通過驅動管理器獲取對象

    Connection connection=DriverMannger.getConnection("jdbc:mysql://localhost:3306/表名");

    1.1.2通過對象來創建命令對象

    Statement statement=connection.createStatement();

    1.1.3通過命令對象獲取結果集

     ResultSet resultSet = statement.executeQuery("select * from NAME ");

    接下來就可以遍歷結果集查詢到所有數據了

    但是這種方法里面的查詢語句是寫死的,而且要是方法需要返回存儲對象的集合的話,那么這種方法通用性就非常的低。

    2.不普通的查詢方法

    這種查詢方法可以查詢不同的表,查詢的條件也可以隨便改,但是查詢的結果必須是全部

    例子: * from 任意表名 where 任意條件

    2.1獲取類的反射對象

    java snmp4j 獲取數據_java從數據庫獲取圖片_java 獲取返回xml數據

    1.類名.class

    2.對象名.

    3.class.("該類的路徑")

    2.2泛型

    定義泛型可以代表各種不確定的類。

    2.3完整代碼

      //通用查詢方法
        public static  List select(Class tClass, String sql, Object... o) {
            List list = new ArrayList<>();
            Connection connection=null;
            try {
    //            Connection connection = getConnection();
                 connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/myfirst");
                PreparedStatement preparedStatement = connection.prepareStatement(sql);
                for (int i = 0; i < o.length; i++) {
                    preparedStatement.setObject(i + 1, o[i]);
                }
                ResultSet resultSet = preparedStatement.executeQuery();
                while (resultSet.next()) {
                    T obj = tClass.newInstance();
    

    java 獲取返回xml數據_java snmp4j 獲取數據_java從數據庫獲取圖片

    Field[] declaredFields = tClass.getDeclaredFields(); for (Field field : declaredFields) { Object value = resultSet.getObject(field.getName()); field.setAccessible(true); field.set(obj, value); } list.add(obj); } return list; } catch (Exception e) { e.printStackTrace(); } finally { try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } }

    java snmp4j 獲取數據_java從數據庫獲取圖片_java 獲取返回xml數據

    return null; }

    這玩意不容易講明白,但是大伙可以拷貝下來直接用,用法如下

    類名.(類名.class," * from 表名 where 字段名1=?, 字段名2=?....",字段名1的值,字段名2的值.....)

    3.引入連接池

    不過這種寫法還是不夠規范。我們最好還是加上一個連接池java從數據庫獲取圖片,連接池可以回收利用對象。頻繁的創建與銷毀對象不好。想要用連接池就需要連接池的jar包

    3.1連接池介紹

    現在常用的是兩個,一個名為Druid是馬云的。還有一個是是小日本的。

    區別:馬云的淘寶主要是做金額交易的業務所以需要安全。Druid更安全

    是的,優點就是快。

    3.2引入連接池的完整代碼

     private static DataSource dataSource = null;
        static {
            //獲取屬性集對象
            Properties properties = new Properties();
            //獲取.properties里的配置文件
            try {
                properties.load(DBUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
                //通過馬云的工廠獲取數據源
    

    java snmp4j 獲取數據_java 獲取返回xml數據_java從數據庫獲取圖片

    dataSource = DruidDataSourceFactory.createDataSource(properties); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } //創建獲取Druid里的數據源對象通過getConnection獲取的connection對象,等同于DriverMannger獲取連接對象 public static Connection getConnection() throws SQLException { return dataSource.getConnection(); }

    3.3引入連接池的查詢方法

      //通用查詢方法
        public static  List select(Class tClass, String sql, Object... o) {
            List list = new ArrayList<>();
            try (Connection connection = getConnection()){
                PreparedStatement preparedStatement = connection.prepareStatement(sql);
                for (int i = 0; i < o.length; i++) {
                    preparedStatement.setObject(i + 1, o[i]);
    

    java從數據庫獲取圖片_java snmp4j 獲取數據_java 獲取返回xml數據

    } ResultSet resultSet = preparedStatement.executeQuery(); while (resultSet.next()) { T obj = tClass.newInstance(); Field[] declaredFields = tClass.getDeclaredFields(); for (Field field : declaredFields) { Object value = resultSet.getObject(field.getName()); field.setAccessible(true); field.set(obj, value); } list.add(obj); } return list; } catch (Exception e) { e.printStackTrace(); } return null; }

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有