Java:《学习笔记与实战》之jdbc(1)与mysql建立连接

章节16. jdbc数据库操作 【299-315课时】  
--------------------------------------------------------------------------------------------------------------------------

299.课时    

    1.jdbc_mysql安装和启动。mysql 和 oracle 是一家。mysql默认3306端口。

    2.java 一般和mysql和oracle 搭配;网站开发一般是LAMP

300.课时

    1.jdbc_mysql_navicat 安装使用、建库、建表
    
    2.now() 获取当前时间

301.课时

    1.jdbc_mysql_环境变量配置 本课时主要是我在CMD操作连通mysql 用的,因为开始mysql 出错。

    2.把mysql的安装目录到bin的文件路径,配置到系统变量的Path路径,用分号分隔之前的环境变量

        我的路径 C:\Program Files\MySQL\MySQL Server 5.7\bin

    3.设置环境变量后,重启出错如下

        ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

        ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: YES)

        解决办法:1.    C:\Program Files\MySQL\MySQL Server 5.7 找到【my-default.ini文件】有些版本是【my.ini 】

              2.  打开后,搜索mysqld关键字 找到后,在mysqld下面添加skip-grant-tables,保存退出。这个命令是跳过
密码和验证。然后在CMD重新运行就可以了。

                  3. 如果还不能启动,则在计算机-管理-服务应用程序-关闭-重启mysql服务。然后重新打开cmd就可以。

        注意:这应该是安装mysql时的设置问题,我是设置了密码的【123456】,在mysql 用mysql -u root -p 访问是可以的。

        参考链接:https://blog.youkuaiyun.com/qq_36675754/article/details/81381341

              https://blog.youkuaiyun.com/qq_39539763/article/details/79515365

302.课时

    1.jdbc_建立数据库连接_驱动类_设计架构

        步骤:加载JDBC驱动程序-建立与数据库的连接-sql语句-结果集

    2.下载mysql 的驱动程序,oracle 也需要下载驱动

        下载地址:https://dev.mysql.com/downloads/connector/j/

            选择platform independent 

            然后:Looking for the latest GA version?  选择对应的mysql版本。

            我的MySQL版本是:mysql-installer-community-5.7.17.0.msi

            然后:No thanks, just start my download. 开始下载 mysql-connector-java-5.1.47.zip

    3.加压下载的文件  包里有mysql-connector-java-5.1.47-bin.jar

    4.在测试JDBC上右键-buildpath-configure  build path- libraries-add E JAR -找到文件【mysql-connector-java-5.1.47-
bin.jar】 点击apply and close 

     5.代码操作实现

 

 

package com.bjsxt.jdbc;

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

/** 测试跟数据库建立连接
 * 
 * 
 * @author Administrator
 *
 */
public class demo01 {
	public static void main(String[] args) {
		//加载驱动类
		try {
			Class.forName("com.mysql.jdbc.Driver");
			long start = System.currentTimeMillis();
			//建立连接(实际内部包含了一个socket对象,是一个远程的连接。比较耗时!这是Connection 对象管理的一个要点!)
			//真正开发中,为了提高效率,都会使用连接池来管理这些连接池对象!
			try {
				Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/study","root","123456");
				Statement stmt = conn.createStatement();
				String sql = "select * from meituan_info_cq_meishi limit 10";
				stmt.execute(sql);
				long end = System.currentTimeMillis();
				System.out.println(conn);
				System.out.println("建立连接,耗时:"+(end-start)+"ms毫秒");
		
				
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}


}
package com.bjsxt.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;//java 查询数据库后的返回结果包
import java.sql.SQLException;
import java.sql.Statement;

/** 测试跟数据库建立连接
 * 
 * 
 * @author Administrator
 *
 */
public class demo2 {
	public static void main(String[] args) {
		//加载驱动类
		try {
			Class.forName("com.mysql.jdbc.Driver");
			long start = System.currentTimeMillis();
			//建立连接(实际内部包含了一个socket对象,是一个远程的连接。比较耗时!这是Connection 对象管理的一个要点!)
			//真正开发中,为了提高效率,都会使用连接池来管理这些连接池对象!
			try {
				Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/study","root","123456");
				Statement stmt = conn.createStatement();
				String sql = "select id,class_name from meituan_info_cq_meishi limit 10";
				ResultSet rs= stmt.executeQuery(sql);//查询
				
				long end = System.currentTimeMillis();
				System.out.println(conn);
				System.out.println("建立连接,耗时:"+(end-start)+"ms毫秒");
			
				while (rs.next()) {
					String id=rs.getString("id");
					String class_name=rs.getString("class_name");
					System.out.println("id:"+id+",class_name:"+class_name);
					}
					rs.close();
					stmt.close();
					conn.close();

				
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}


}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值