IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> JDBC笔记第一天 -> 正文阅读

[大数据]JDBC笔记第一天

package connection;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
//url="jdbc:mysql://localhost:3306/test"  test指的是数据库
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import org.junit.Test;



public class ConnectionText {
    @Test
    public void test() throws SQLException{
    	//方式一
    	 Driver d = new com.mysql.jdbc.Driver();
    	 String url = "jdbc:mysql://localhost:3306/test";
         Properties info = new Properties();
         info.setProperty("user", "mysqlChen");
         info.setProperty("password", "1234");
         Connection conn =  d.connect(url, info);
         System.out.println(conn);
         
    }
    //方式二
     @Test
     public void test1() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException {
    	 Class clazz = Class.forName("com.mysql.jdbc.Driver");
    	 Driver driver = (Driver) clazz.newInstance();
    	 String url = "jdbc:mysql://localhost:3306/test";
    	 Properties info = new Properties();
         info.setProperty("user", "mysqlChen");
         info.setProperty("password", "1234");
         Connection conn =  driver.connect(url, info);
         System.out.println(conn);
     }
     //方式三:使用driverMannager 替换Driver
     @Test
     public void test3() throws Exception {
    	 //1.获取Driver实现类的对象
    	 Class clazz = Class.forName("com.mysql.jdbc.Driver");
    	 Driver driver = (Driver) clazz.newInstance();
    	 //2.提供另外三个链接的基本信息
    	 String url ="jdbc:mysql://localhost:3306/test";
    	 String user = "mysqlChen";
    	 String password="1234";
    	 	//注册驱动
    	 DriverManager.registerDriver(driver);
    	 //获取链接
    	 Connection connection = DriverManager.getConnection(url, user, password);
    	 System.out.println(connection);
     }
     //方式四:在3的基础上优化
     @Test
     public void test4() throws Exception {
    	 //2.提供另外三个链接的基本信息
    	 String url ="jdbc:mysql://localhost:3306/test";
    	 String user = "mysqlChen";
    	 String password="1234";
    	 //2.获取Driver实现类的对象
    	 Class.forName("com.mysql.jdbc.Driver");
//    	 Driver driver = (Driver) clazz.newInstance();
//    	 //注册驱动,相较于方式三可以省略如下的操作
    	 //在mysql的Driver中声明了静态代码块自动帮我们注册驱动
//    	 DriverManager.registerDriver(driver);
    	 //3.获取链接
    	 Connection connection = DriverManager.getConnection(url, user, password);
    	 System.out.println(connection);
     }
     //方式五:将数据库需要的4哥基本信息生命在配置文件中,通过读取配置文件的方式,获取连接
     /*
      * 好处
      * 1.实现了数据与代码的法分离,实现了解耦
      * 2.如果需要修改配置文件信息,就可以避免程序重新打包。	
      * */
     @Test
     public void test5() throws Exception {
    	 //1.读取配置文件中的4个基本信息
    	 InputStream is = ConnectionText.class.getClassLoader().getResourceAsStream("jdbc.properties");
    	 Properties properties = new Properties();
    	 properties.load(is);
    	 String user = properties.getProperty("user");
    	 String password = properties.getProperty("password");
    	 String url =properties.getProperty("url");
    	 String driverClass = properties.getProperty("driverClass");
    	 //2.加载驱动
    	 Class.forName(driverClass);
    	 Connection connection = DriverManager.getConnection(url,user,password);
    	 System.out.println(connection);
     }
}

创建数据库与java程序的五种方式,以及statement 的弊端

statment:

Scanner scan = new Scanner(System.in);
//
//		System.out.print("用户名:");
//		String userName = scan.nextLine();
//		System.out.print("密   码:");
//		String password = scan.nextLine();
//
//		// SELECT user,password FROM user_table WHERE USER = '1' or ' AND PASSWORD = '
//		// ='1' or '1' = '1';
//		String sql = "SELECT user,password FROM user_table WHERE USER = '" + userName + "' AND PASSWORD = '" + password
//				+ "'";
//		User user = get(sql, User.class);
//		if (user != null) {
//			System.out.println("登陆成功!");
//		} else {
//			System.out.println("用户名或密码错误!");
//		}

user,password FROM user_table WHERE USER = '1' or ' AND PASSWORD = '
//		// ='1' or '1' = '1'

这段代码粘贴到mysql中显示就是statment的弊端

总体来说理解方式五即可

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-02 14:56:25  更:2021-10-02 14:56:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:05:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码