基础的JDBC链接数据库

通过学习:http://www.cnblogs.com/smyhvae/p/4050825.html(原)

前提要已经安装好数据库

我目前所用的jdbc

https://pan.baidu.com/s/101nv2mgtDF4WlXJmw8dwzA  密码:4f4g

一、下载并解压文件

下载完后解压后的文件


二、新建一个web动态工程


三、新建了一个文件夹(我使用Eclipse是经过汉化的,如果有喜欢中文版或需要汉化的可以自己去查,很简单),将mysql-connector-java-8.0.11直接粘贴进去,至于文件夹的名字,随意取就好了





四、丢进去后点击右键



添加后会多出个引用库

五、链接数据库(博主用的mysql数据库、MySQL Workbench图形化管理工具)

数据库信息:


新建一个类:代码如下:(代码是参照的)

package com.vae.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcTest {

    /**
     * @param args
     */
    
    //数据库连接地址
    private final static String URL = "jdbc:mysql://localhost:3306/new_schema"+"?serverTimezone=GMT%2B8";
    //加载的驱动程序类(这个类就在我们导入的jar包中)
    public final static String DRIVER = "com.mysql.cj.jdbc.Driver";
    //用户名
    public final static String USERNAME = "root";
    //密码
    public final static String PASSWORD = "yulang123";
   
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        insert();
    }    
    
    
    //方法:插入数据
    public static void insert(){
        try {
            //1、加载数据库驱动程序
            Class.forName(DRIVER);
            
            //2、获取数据库连接
            Connection connection  = DriverManager.getConnection(URL, USERNAME, PASSWORD);
            
            //3、构造SQL语句(插入具体的数据)
            String sql = "insert into person (exercis_id,exercis_name,exercis_address) value(\r\n" + 
            		"2,'陈二','http://www.baidu.com'\r\n" + 
            		")";
            
            //4、构造一个Statement实例(用来发送SQL语句的载体)
            Statement state = connection.createStatement();
            
            //5、执行SQL语句(其实是向数据库中发送sql语句)
            state.executeUpdate(sql);
            
            //6、关闭连接(释放资源)
            state.close();
            connection.close();
            
            System.out.println("insert success");
            
            
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
    }    
 
}


请注意:在jdbc6.0以上

    //数据库连接地址
    private final static String URL = "jdbc:mysql://localhost:3306/new_schema"+"?serverTimezone=GMT%2B8";
    //加载的驱动程序类(这个类就在我们导入的jar包中)
    public final static String DRIVER = "com.mysql.cj.jdbc.Driver";
如果没有
+"?serverTimezone=GMT%2B8"

这句时候会报”The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support”这样的错误

只要添加上就不会报

5.1、然而

com.mysql.cj.jdbc.Driver与com.mysql.jdbc.Driver没有CJ的情况下,也可能会报错,然而至于报什么错。博主这边没有报。所有没办法写

六、  到这来已经可以连接到数据库了。(但为了代码的复用性,我自己手敲了一遍)

新建一个ConclusionJDBC类,代码如下:

package com.vae.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConclusionJDBC {

	//    //加载的驱动程序类(这个类就在我们导入的jar包中)
	private static Connection connection=null;

	//方法:插入数据
	public static Connection getMysqlJDBC(){
		try {
			//1、加载数据库驱动程序
			Class.forName("com.mysql.cj.jdbc.Driver");
			//数据库连接地址
			String URL = "jdbc:mysql://localhost:3306/new_schema"+"?serverTimezone=GMT%2B8";
			//用户名
			String USERNAME = "root";
			//密码
			String PASSWORD = "yulang123";

			//2、获取数据库连接
			connection  = DriverManager.getConnection(URL, USERNAME, PASSWORD);

			

		} catch (Exception e) {
			e.printStackTrace();
		}
		return connection; 

	}    //关闭连接(释放资源)
	public static void closejdbc(ResultSet resultset,Statement statement,Connection connection) {
		try {
			if(resultset!=null) {
				resultset.close();
			}
			if(statement!=null) {
				statement.close();
			}if(connection!=null) {
				connection.close();
			}


		}catch (SQLException e) {
			// TODO: handle exception
			e.printStackTrace();
		}

	}
}

        第二个类:Test类(增改删)

查询数据person的到以下数据


   6.1.1 新建一个exercis_id为99  名字为:念壹   地址为https://mp.csdn.net/postedit

package com.vae.jdbc;

import java.sql.Connection;

import java.sql.Statement;

public class Test {
	private static Connection connection=null;

	public static void main(String[] args)   {
        // TODO Auto-generated method stub
		//构造SQL语句(插入具体的数据)
		insert();
		
    }

	//增
	public static void insert() {
		String sql = "insert into person (exercis_id,exercis_name,exercis_address) value(\r\n" + 
				"99,'念壹','https://mp.csdn.net/postedit')";
		connection=ConclusionJDBC.getMysqlJDBC();
		try {
			//构造一个statementment实例(用来发送SQL语句的载体)
			Statement statement=connection.createStatement();
			//5、执行SQL语句(其实是向数据库中发送sql语句)
			statement.executeUpdate(sql);
			statement.execute(sql);
			//6、关闭连接(释放资源)
			ConclusionJDBC.closejdbc(null, statement, connection);
			//通过后台知道程序运行是否成功
			System.out.println("运行成功");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
	}
}



6.2.1将exercis_id为99  名字为:念壹   地址为https://mp.csdn.net/postedit,修改成  101 念贰  地址为:https://www.jd.com/

//改
	public static void update() {
		String sql="update person set exercis_name=\"念贰\",exercis_address='https://www.jd.com/' where exercis_id=99";
		try {
			//构造一个statementment实例(用来发送SQL语句的载体)
			Statement statement=connection.createStatement();
			//5、执行SQL语句(其实是向数据库中发送sql语句)
			statement.executeUpdate(sql);
			//6、关闭连接(释放资源)
			ConclusionJDBC.closejdbc(null, statement, connection);
			//通过后台知道程序运行是否成功
			System.out.println("运行成功");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		
	}

6.3.1exercis_id为99删除

//删除
	public static void delete() {
		String sql="DELETE  FROM person where exercis_id = 99";
		try {
			//构造一个statementment实例(用来发送SQL语句的载体)
			Statement statement=connection.createStatement();
			//5、执行SQL语句(其实是向数据库中发送sql语句)
			statement.executeUpdate(sql);
			//6、关闭连接(释放资源)
			ConclusionJDBC.closejdbc(null, statement, connection);
			//通过后台知道程序运行是否成功
			System.out.println("运行成功");
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}	
	}

6.4.1查询

//查询
	public static void  select() {
		String sql="select * from person";
		//构造一个statementment实例(用来发送SQL语句的载体)
		try {
			Statement statement=connection.createStatement();
			//executeQuery,返回结果集
			ResultSet resultset=statement.executeQuery(sql);
			while(resultset.next()) {
				//获取第一行一个信息
				int id=resultset.getInt(1);
				String name=resultset.getString(2);
				String add=resultset.getString(3);
				System.out.println("id="+id+",name="+name+",name="+name+",add="+add);
			}
			
		} catch (SQLException e) {
			// TODO 自动生成的 catch 块
			e.printStackTrace();
		}
		
	}

增删改查已完成学习
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值