文档章节

java连接mysql数据库

李韬_varyshare
 李韬_varyshare
发布于 2016/09/18 14:12
字数 525
阅读 48
收藏 0

这里我们使用的是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()

© 著作权归作者所有

李韬_varyshare

李韬_varyshare

粉丝 7
博文 27
码字总数 18588
作品 1
广州
个人站长
私信 提问
PowerDesigner 16.5 连接MySQL和逆向工程图

1、MySQL数据库连接(JDBC方式) JDBC的配置方式需要一些基础的环境和准备,但是也很简单,无非也就是JDK和mysql的连接jar包,这里不再展开阐述。 1.1 新建一个pdm,dbms选择mysql 1.2 Datab...

Gibbons
2018/07/22
2.6K
0
关于 kettle 连接 mysql 的一些问题

http://kcd.nivalsoul.cn/article/1543471574567 MySQL 版本 5.7 及以下的情况 对于 5.7 及以下版本的 mysql,jdbc 驱动使用 mysql-connector-java-5.1.x.jar,在数据库连接的地方,选择 My...

空山苦水禅人
2018/12/23
454
0
Hibernate与各数据库连接配置

Hibernate的使用,方便了持久层的封装,通过配置文件的修改,就可以跟不同的数据库进行连接,十分方便,下面我将网络上各种数据库连接的配置信息整理,便于后期的使用。 RDBMS 方言 DB2 org....

YuanyuanL
2015/08/03
71
0
JDBC连接MySQL数据库及示例

DBC是Sun公司制定的一个可以用Java语言连接数据库的技术。 一、JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提...

aminqiao
2014/06/10
218
1
powerdesigner连接Mysql数据库

此次使用Mysql8.0和powerdesigner16.5 1、新建一个pdm 这里有个疑问,本人的mysql的版本是8.0,但如下图DBMS里最高只有mysql5.0,但以后没什么影响,所以未深究。 2、点击菜单栏里database,...

jxlgzwh
03/26
60
0

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
今天
4
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
9
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
9
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
9
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部