Home Database Mysql Tutorial JDBC操作技巧

JDBC操作技巧

Jun 07, 2016 pm 03:29 PM
jdbc tool Skill operate database connect

对于纯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();
        }
    }
Copy after login

然后我们便是采用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) {
            }
        }
Copy after login

这是我们最常用的一种操作方式,可是问题就来了,我们所要操作的,必须对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>
Copy after login

哈哈 此种方式可以替代where ?=?,参照ibatis

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1670
14
PHP Tutorial
1274
29
C# Tutorial
1256
24
How to register in the ok exchange in China? ok trading platform registration and use guide for beginners in mainland China How to register in the ok exchange in China? ok trading platform registration and use guide for beginners in mainland China May 08, 2025 pm 10:51 PM

In the cryptocurrency market, choosing a reliable trading platform is crucial. As a world-renowned digital asset exchange, the OK trading platform has attracted a large number of novice users in mainland China. This guide will introduce in detail how to register and use it on the OK trading platform to help novice users get started quickly.

Top 10 cryptocurrency platforms in the world that support multi-chain transactions are authoritatively released in 2025 Top 10 cryptocurrency platforms in the world that support multi-chain transactions are authoritatively released in 2025 May 08, 2025 pm 07:15 PM

According to the latest evaluations and industry trends from authoritative institutions in 2025, the following are the top ten cryptocurrency platforms in the world that support multi-chain transactions, combining transaction volume, technological innovation, compliance and user reputation comprehensive analysis:

TOP10 futures trading platforms: Perpetual contracts and options trading TOP10 futures trading platforms: Perpetual contracts and options trading May 08, 2025 pm 07:12 PM

In the cryptocurrency market, futures trading platforms play an important role, especially in perpetual contracts and options trading. Here are the top ten highly respected futures trading platforms in the market, and provide detailed introduction to their characteristics and advantages in perpetual contract and option trading.

Top 10 digital virtual currency trading apps in 2025 Summary of the top 10 digital currency exchange apps Top 10 digital virtual currency trading apps in 2025 Summary of the top 10 digital currency exchange apps May 08, 2025 pm 05:24 PM

Ranking of the top ten digital virtual currency trading apps in 2025: 1. Binance: Leading the world, providing efficient transactions and a variety of financial products. 2. OKX: It is innovative and diverse, supporting a variety of transaction types. 3. Huobi: Stable and reliable, with high-quality service. 4. Coinbase: Be friendly for beginners and simple interface. 5. Kraken: The first choice for professional traders, with powerful tools. 6. Bitfinex: efficient trading, rich trading pairs. 7. Bittrex: Safety compliance, regulatory cooperation.

Top 10 cryptocurrency exchanges in the currency circle, the latest ranking of the top 10 digital currency trading platforms in 2025 Top 10 cryptocurrency exchanges in the currency circle, the latest ranking of the top 10 digital currency trading platforms in 2025 May 08, 2025 pm 10:45 PM

Ranking of the top ten cryptocurrency exchanges in the currency circle: 1. Binance: Leading the world, providing efficient trading and a variety of financial products. 2. OKX: It is innovative and diverse, supporting a variety of transaction types. 3. Huobi: Stable and reliable, with high-quality service. 4. Coinbase: Be friendly for beginners and simple interface. 5. Kraken: The first choice for professional traders, with powerful tools. 6. Bitfinex: efficient trading, rich trading pairs. 7. Bittrex: Safety compliance, regulatory cooperation. 8. Poloniex and so on.

Top 10 cryptocurrency exchanges rankings Top 10 digital currency trading platforms latest rankings Top 10 cryptocurrency exchanges rankings Top 10 digital currency trading platforms latest rankings May 08, 2025 pm 05:03 PM

Top 10 cryptocurrency exchanges rankings: 1. Binance: Leading the world, providing efficient trading and a variety of financial products. 2. OKX: It is innovative and diverse, supporting a variety of transaction types. 3. Huobi: Stable and reliable, with high-quality service. 4. Coinbase: Be friendly for beginners and simple interface. 5. Kraken: The first choice for professional traders, with powerful tools. 6. Bitfinex: efficient trading, rich trading pairs. 7. Bittrex: Safety compliance, regulatory cooperation. 8. Poloniex and so on.

Ranking of the top ten digital currency quantitative trading apps, the latest list of digital currency exchanges Ranking of the top ten digital currency quantitative trading apps, the latest list of digital currency exchanges May 08, 2025 pm 06:03 PM

Ranking of the top ten digital currency quantitative trading apps: 1. Binance, 2. OKX, 3. Huobi, 4. Coinbase, 5. Kraken, 6. Bitfinex, 7. Bittrex, 8. Poloniex, 9. Gemini, 10. KuCoin, these platforms provide high security and good user experience, and the steps to use include downloading and installing, registering an account, enabling two-step verification, and depositing and trading.

2025 latest! Ranking of the top ten most popular formal virtual currency trading apps 2025 latest! Ranking of the top ten most popular formal virtual currency trading apps May 08, 2025 pm 07:48 PM

In 2025, the virtual currency market is still hot, and investors are constantly looking for the best trading platform. This article will introduce the top ten most popular formal virtual currency trading apps in 2025 in detail, and provide their rankings and features to help you make the wisest choices.

See all articles