已有101人关注
关于java连接MySQL数据库的问题
发表在Java图书答疑 2017-09-17 悬赏:50 学分 《Java从入门到精通(第4版)》第20章 数据库操作
是否精华
版块置顶:

怎么把增删改查封装成一个类,用到时一句话搞定

分享到:
精彩评论 6
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2017-09-18
沙发

给你举个小例子:


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;


public class MySQLDao {

    static {

        try {

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

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        }

    }


    static Connection getCon() {

        Connection con = null;

        try {

            con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/cmdp", "root", "123456");

        } catch (SQLException e) {

            e.printStackTrace();

        }

        return con;

    }


    static List<String> get(int id) {

        List<String> list = new ArrayList<>();

        String sql = "select name from student where id = " + id;

        Connection con = getCon();

        try {

            Statement stmt = con.createStatement();

            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next()) {

                list.add(rs.getString("name"));

            }

        } catch (SQLException e) {

            e.printStackTrace();

        }

        return list;

    }


    public static void main(String[] args) {

        List<String> list = get(3);

        for (String str : list) {

            System.out.println(str);

        }

    }

}


杨_1492238507
学分:1394 LV8
2017-09-18
板凳

根号申 发表于2017-09-18 08:46

给你举个小例子:


import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;


public class MySQLDao {

    static {

        try {

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

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        }

    }


    static Connection getCon() {

        Connection con = null;

        try {

            con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/cmdp", "root", "123456");

        } catch (SQLException e) {

            e.printStackTrace();

        }

        return con;

    }


    static List<String> get(int id) {

        List<String> list = new ArrayList<>();

        String sql = "select name from student where id = " + id;

        Connection con = getCon();

        try {

            Statement stmt = con.createStatement();

            ResultSet rs = stmt.executeQuery(sql);

            while (rs.next()) {

                list.add(rs.getString("name"));

            }

        } catch (SQLException e) {

            e.printStackTrace();

        }

        return list;

    }


    public static void main(String[] args) {

        List<String> list = get(3);

        for (String str : list) {

            System.out.println(str);

        }

    }

}


我想把每一行的每一个数据用HashMap保存,然后每一行又装进一个ArrayList

我知道原理但是我不知道怎么做,而且每个数据库列数不尽相同。还有其数据类型,

老师能简单进行指导一下吗?

根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2017-09-19
地板

杨_1492238507 发表于2017-09-18 18:03

我想把每一行的每一个数据用HashMap保存,然后每一行又装进一个ArrayList

我知道原理但是我不知道怎么做,而且每个数据库列数不尽相同。还有其数据类型,

老师能简单进行指导一下吗?

    public List get() {

        List list = new ArrayList<>();

        Map map = new HashMap<>();

        Connection con = MySQLDao.getCon();

        try {

            Statement stmt = con.createStatement();

            ResultSet rs = stmt.executeQuery("select * from table1 ");

            int rowcount = rs.getMetaData().getColumnCount();// 列数

            while (rs.next()) {

                for (int i = 1; i <= rowcount; i++) {

                    map.put(rs.getMetaData().getColumnName(i), rs.getString(i));

                }

                list.add(map);

            }

        } catch (SQLException e) {

            e.printStackTrace();

        } finally {

            MySQLDao.close(con);

        }


        return list;

    }


杨_1492238507
学分:1394 LV8
2017-09-19
4L

老师我随手写了几个方法,你看看那里还可以改进,哪里还有那些不足

MySQL.txt


根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2017-09-19
5L

杨_1492238507 发表于2017-09-19 13:56

老师我随手写了几个方法,你看看那里还可以改进,哪里还有那些不足

MySQL.txt


只要能正确增删改查,代码就没问题

杨_1492238507
学分:1394 LV8
2017-09-20
6L

根号申 发表于2017-09-19 17:12

只要能正确增删改查,代码就没问题

谢谢老师指导,我多试试

首页上一页 1 下一页尾页 6 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照