java连接mysql数据库

主宰稳场 提交于 2019-11-27 18:12:48

这里我们使用的是mysql数据库所以我们需要引入mysql驱动。右键项目点击properties》》》然后在下面这个界面点击Add External JARs...,把mysql-jdbc驱动连接进来。

下面是我写的一个模板代码(供大家参考使用):

 


package com.util.dbmethod;

import java.sql.*;

/**
 * @author yuanmuou
 * @功能:数据库函数集合
 * @要求:需要引入mysql-jdbc驱动
 */
public class Database {
    private static final String user = "root";// 数据库用户名
    private static final String password = "123";// 数据库密码
    private static String dbname = "shop";// 数据库名

    static PreparedStatement prestate=null;
    private static final String driver = "com.mysql.jdbc.Driver";
    private static Connection connect = null;// 数据库连接
    private static final String url = "jdbc:mysql://localhost:3306/" + dbname
            + "?useUnicode=true&characterEncoding=UTF-8";

    static {
        try {
            Class.forName(driver);
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("错误:加载驱动失败,请检查驱动是否加载。错误信息:" + e.getMessage());
        }
    }

    /**
     * @return boolean 检查是否设置了数据库
     */
    public static boolean isSetDbname() {
        if (dbname == null || dbname.equals(""))
            return false;
        else
            return true;
    }

    /**
     * @return Connection 数据库连接对象
     */
    public static Connection getConnection() {
        if (connect == null) {
            try {
                if (isSetDbname())
                    connect = DriverManager.getConnection(url, user, password);
                else {
                    System.out.println("错误:未设置数据库名");
                }
            } catch (SQLException e) {
                System.out.println("错误:数据库连接失败,请检查数据库名,密码,用户名是否正确");
                e.printStackTrace();
            }
            return connect;
        }
        return connect;
    }
    /** 
     * @param string sql SQL语句
     * @功能 执行SQL查询
     * @返回 结果集
     */
    public static ResultSet doQuery(String sql){
        if((connect=getConnection())==null)
            return null;
        else{
            
            try {
                ResultSet resultset = prestate.executeQuery(sql);
                return resultset;
            } catch (SQLException e) {
                System.out.println("错误:sql语句执行出错");
                e.printStackTrace();
            }
        }
        return null;
    }
        /**
         * 下面是示例程序(可以删除)
         */
    public static void main(String[] args) {
        try {
            Connection con = Database.getConnection();
            if (con != null) {
                System.out.println("数据库连接正常");
            } else {
                System.out.println("数据库连接失败");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }
}

 

遍历结果集实例:

    List<User> users = new ArrayList<>();
    while (rs.next()) {
        User user = new User();
        user.setAvatar(rs.getString("avatar"));
        user.setDescription(rs.getString("description"));
        user.setEmail(rs.getString("email"));
        user.setId(rs.getLong("id"));
        user.setPassword(rs.getString("password"));
        user.setTitle(rs.getString("title"));
        user.setUsername(rs.getString("username"));
        users.add(user);
    }

 

MySQL数据类型 Java数据类型 ResultSet方法
CHAR String String getString()
VARCHAR String String getString()
LONGVARCHAR String InputStream getAsciiStream()
NUMERIC java.math.BigDecimal java.math.BigDecimal getBigDecimal()
DECIMAL java.math.BigDecimal java.math.BigDecimal getBigDecimal()
BIT Boolean boolean getBoolean()
TINYINT Integer byte getByte()
SMALLINT Integer short getShort()
INTEGER Integer int getInt()
BIGINT Long long getLong()
REAL Float float getFloat()
FLOAT Double double getDouble()
DOUBLE Double double getDouble()
BINARY byte[] byte[] getBytes()
VARBINARY byte[] byte[] getBytes()
LONGVARBINARY byte[] getBinaryStream()
DATE java.sql.Date java.sql.Date getDate()
TIME Java.sql.Time java.sql.Time getTime()
TIMESTAMP Java.sql.Timestamp java.sql.Timestamp getTimestamp()
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!