JDBC操作技巧
对于纯JDBC连接数据库连接工具如下: public static final String DBDRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver; public static final String DBURL=jdbc:sqlserver://10.81.35.35:1433;databaseName=Company; public static final String DBUSER
对于纯JDBC连接数据库连接工具如下:
public static final String DBDRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver"; public static final String DBURL="jdbc:sqlserver://10.81.35.35:1433;databaseName=Company"; public static final String DBUSERNAMW="sa"; public static final String DBPSD="1111111"; private Connection conn=null; public DataBaseConnection(){ try{ Class.forName(DBDRIVER); conn=DriverManager.getConnection(DBURL,DBUSERNAMW,DBPSD); }catch(Exception e){ e.printStackTrace(); } } public Connection getConnection(){ return this.conn ; } public void close() throws SQLException{ if(this.conn!=null){ conn.close(); } }
然后我们便是采用PreparedStatement对SQL语句进行预处理,如下:
PreparedStatement pstm = null; String sql = "insert into Person(UserName,Password) values(?,?)"; try { pstm = this.conn.prepareStatement(sql); pstm.setString(1, person.getUserName()); pstm.setString(2, person.getPassword()); int count = pstm.executeUpdate(); if (count > 0) { flag = true; } } catch (Exception e) { throw e; } finally { try { pstm.close(); } catch (Exception e) { } }
这是我们最常用的一种操作方式,可是问题就来了,我们所要操作的,必须对sql中的字段很明确,比如我们按条件来查询的时候,我们就必须对条件的字段很清楚,可是,当数据库字段增多的时候,我们所要查询的条件规则很多,是不是每一个条件,我们就要写一个方法呢?显然,这种是直接的思维,然而这样思维却增加了很多代码的冗余,又或者说是,每次变换条件或者新增条件的时候,我们都必须对方法进行修改,甚至是增加。于是乎,我们想有没有一种方式可以传递字段名称进去查询,如where ?=?
本人亲测,这种方式是不存在的,因为预处理字段的时候,PreparedStatement会自动在字符串上加引号,那此时就不能达到我们想要的效果(如想要的是where name=? 得到的却是 where 'name'=?),本人曾经在这样的问题上纠结了很久。最终找到一种破解的方式,这里借鉴了IBatis的Map传参方式。希望同行爱好者,我们除了要学会使用框架或插件,得找个时间去研究一下它的原理(源码)哦。
对于where ?=? 显然是不可取,但是对于字符串占位就可以的。例子如下:
public List<person> findByParams(Map<string object> params) throws Exception { Iterator it = params.entrySet().iterator(); List<person> list = new ArrayList<person>(); Person person = null; String key = null; Object value = null; PreparedStatement pstm = null; while (it.hasNext()) { Map.Entry<string object> entry = (Map.Entry<string object>) it .next(); key = entry.getKey(); value = entry.getValue(); } <span style="color:#FF0000;"> String sql = String.format( "select userid,username,password from person where %s=?", key);</span> pstm = this.conn.prepareStatement(sql); pstm.setObject(1, value); ResultSet rs = pstm.executeQuery(); while(rs.next()) { person = new Person(); person.setUserID(rs.getInt(1)); person.setUserName(rs.getString(2)); person.setPassword(rs.getString(3)); } rs.close(); pstm.close(); return list; }</string></string></person></person></string></person>
哈哈 此种方式可以替代where ?=?,参照ibatis

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在加密货币市场中,选择一个可靠的交易平台是至关重要的。OK交易平台作为全球知名的数字资产交易所,吸引了大量大陆新手用户。本指南将详细介绍如何在OK交易平台上进行注册和使用,帮助新手用户快速上手。

币圈十大加密货币交易所排名:1. Binance:全球领先,提供高效交易和多种金融产品。2. OKX:创新多样,支持多种交易类型。3. Huobi:稳定可靠,服务优质。4. Coinbase:新手友好,界面简洁。5. Kraken:专业交易者首选,工具强大。6. Bitfinex:高效交易,交易对丰富。7. Bittrex:安全合规,监管合作。8. Poloniex等等。

币安(Binance)作为全球领先的加密货币交易平台,提供了多种方式让用户方便地进行交易和管理资产。其中,币安手机APP是许多用户选择的工具之一。以下详细介绍币安官方安卓APP的下载和使用方法。

全球领先的加密货币交易平台,以其高效、安全和多样化的交易服务闻名于世。无论你是经验丰富的交易者还是初入加密货币市场的新手,币安Binance都能提供你所需的工具和资源。通过币安Binance网页版,用户可以轻松访问交易平台,无需下载任何应用程序,直接通过浏览器进行交易操作。本文将详细介绍如何进入币安Binance交易所网页版,并提供一些实用的交易技巧和注意事项。

全球知名的数字货币交易平台,成立于2014年,致力于为用户提供安全、便捷的数字资产交易服务。作为一家国际化的交易所,易欧支持多种主流和小众数字货币的交易,吸引了来自世界各地的用户。无论是新手还是经验丰富的交易者,都可以在易欧平台上找到适合自己的交易工具和服务。

OKX,原名OKEx,是一家成立于2017年的全球领先的加密货币交易所。作为一家提供多种数字资产交易服务的平台,OKX致力于为用户提供安全、便捷和高效的交易体验。OKX的服务范围涵盖了现货交易、合约交易、杠杆交易、币币交易等多种交易模式,并且支持超过100种加密货币的交易对。除了交易服务,OKX还提供钱包服务、借贷服务以及 staking 等多种金融产品,以满足不同用户的需求。

2025年5月份牛市交易所推荐:1、币安;2、OKX;3、火币;4、gate.io;5、芝麻开门等交易所。上述交易所安全可靠,并且支持多种币种,本文提供详细下载入口地址。

作为全球领先的数字资产交易平台,凭借其高效、安全和用户友好的体验,吸引了大量的投资者和交易者。无论你是初次接触加密货币市场,还是经验丰富的交易专家,欧意OKX都提供了丰富的交易工具和服务,以满足不同层次用户的需求。近期,欧意OKX发布了最新的官方链接,以确保用户能够安全、便捷地访问平台,进行交易和资产管理。
