Java存取数据库能力的包是?

Java存取数据库能力的包是?,第1张

dbdriver是resultset01的类成员

要用

resultset01.dbdriver

去使用它

你直接写dbdriver当然找不到定义了

都学到数据 *** 作了

居然犯这种低级错误

真是很无语

以mysql为数据库写的一个粗陋的demo,你参考一下,希望不会因为代码过多被百度吞了——

import java.sql.Connection

import java.sql.DriverManager

import java.sql.PreparedStatement

import java.sql.ResultSet

import java.sql.SQLException

import java.util.ArrayList

import java.util.List

public class Test {

       

    public static void main(String[] args) {

        allotThread()

    }

       

    /**

     * 将100条数据分成10份并启动10个线程分别 *** 作

     */

    public static void allotThread() {

        List<String[]>datas = buildDatas()

        for (int i=0i<100i+=10) {

            List<String[]>tenDatas = datas.subList(i, i + 10)

            insertData(tenDatas)

        }

    }

       

    /**

     * 创建100条模拟数据

     * @return

     */

    public static List<String[]>buildDatas() {

        List<String[]>datas = new ArrayList<String[]>()

        for (int i=0i<100i++) {

            String[] data = {"id " + i, "name " + i}

            datas.add(data)

        }

        return datas

    }

       

    /**

     * 启动线程进行数据插入 *** 作

     * @param tenDatas

     */

    public static void insertData(final List<String[]>tenDatas) {

        new Thread(new Runnable() {

            public void run() {

                String sql = "insert into testtable (id, name) values (?, ?)"

                Connection conn = null

                PreparedStatement pstmt = null

                try {

                    conn = getConnection()

                    conn.setAutoCommit(false)

                    pstmt = getPstmt(conn, sql)

                    for (String[] data : tenDatas) {

                        pstmt.setString(1, data[0])

                        pstmt.setString(2, data[1])

                        pstmt.addBatch()

                    }

                    pstmt.executeBatch()

                    conn.commit()

                    conn.setAutoCommit(true)

                } catch (SQLException e) {

                    e.printStackTrace()

                    rollback(conn)

                } catch (ClassNotFoundException e) {

                    e.printStackTrace()

                } finally {

                    close(pstmt)

                    close(conn)

                }

            }

        }).start()

    }

       

    public static Connection getConnection() throws SQLException, ClassNotFoundException {

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

        String dbUrl = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8"

        Connection conn = DriverManager.getConnection(dbUrl, "root", "tooeasy")

        return conn

    }

       

    public static PreparedStatement getPstmt(Connection conn, String sql) throws SQLException, ClassNotFoundException {

        PreparedStatement pstmt = conn.prepareStatement(sql)

        return pstmt

    }

       

    public static void rollback(Connection conn) {

        try {

            if (null != conn) {

                conn.rollback()

            }

        } catch (SQLException e) {

            e.printStackTrace()

        }

    }

       

    public static void close(Connection conn) {

        try {

            if (null != conn) {

                conn.close()

            }

        } catch (SQLException e) {

            e.printStackTrace()

        }

    }

       

    public static void close(PreparedStatement pstmt) {

        try {

            if (null != pstmt) {

                pstmt.close()

            }

        } catch (SQLException e) {

            e.printStackTrace()

        }

    }

       

    public static void close(ResultSet rs) {

        try {

            if (null != rs) {

                rs.close()

            }

        } catch (SQLException e) {

            e.printStackTrace()

        }

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9606110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存