【数据库学习笔记】-06 JDBC练习

2018.4.13

一.使用命令行导出导入数据库。

--使用命令行导入导出数据库 --要求是在非登录状态下操作。

--导出数据库 --到处的是一个.sql文件,里面包含了所有的数据库操作信息, mysqldump -uroot -p 数据库名 >xxx.sql

--导入数据库 要求导入的指定数据库必须存在。 mysql -u root -p tempjavaee < javee1707.sql

二.JDBC介绍

Java Database Connctivity

MySQL Oracle SQLServer
为了简化,统一对数据库的操作,java中定义了一套操作数据的规范,JDBC

JDBC主要是通过接口实现的,组成JDBC的有两个包
java.sql         javax.sql
以上两个包是在javaSE中包含的

需要导入JDBC的实现类才可以使用,这个实现类不是SUN公司提供的,是由第三方数据库提供商
来完成的。

JDBC 主要的接口和类:
Driver接口:连接数据库的驱动API 
反射--------怎么获取class对象  Class.forNAME("完整的类名");包名.类名
DriverManage类: 驱动管理类,负责驱动的注册(加载),获取数据库连接
Statement接口:负责SQL语句的执行
        --prepareStatement接口:负责SQL语句的预处理
ResultSet接口:处理查询数据库的结果集

获取MySQL的官网下载jar包
        Https://dev.mysql.com/downloads/connector/j/

在项目中把JDBC jar包导入到项目中:
    1.在项目目录下创建libs目录
    2.赋值JAR粘贴到libs目录中
    3.在jar包上右键->build path->add to buil path

三.通过JDBC连接数据库

1.确定数据库的URL :统一资源定位符

    jdbc:mysql://localhost:3306/javaee1707
    协议:子协议://ip:端口号/数据库?参数
    
    
    协议:JDBC总协议
    子协议:目前使用的是连接MySQL数据库的协议
    ip:是数据库服务器的IP地址,localhost表示本机的IP地址
    端口号:3306 MySQL数据库的默认端口号,可以修改
    数据库:目前连接操作的数据是哪一个
    参数:userUnicode=true&characterEncoding=UTF-8;
    
2.连接数据库需要用户名和密码。


package a_connectmysql;

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

import org.junit.Test;

Driver.class在jdbcjar包中,jdbcpackage中的driver类 /* Class.forName("org.postgresql.Driver"); 会加载driver类文件到内存当中(要完整的包名+类名!)。

源代码完成了:
 		1.创建了jdbc.driver对象
 		2.将这个创建的Driver对象,注册到java.sql.driverMananger里面
 		
 这样做的好处:
 	简化代码的逻辑,提高效率
 */


public class demo1 {
	@Test
     public  void connection() {
    	 // JDBC连接数据库的推荐方式    acterEnco
         try {
        	 //1.注册驱动JDBC连接数据库
             Class.forName("org.postgresql.Driver");
             //2.准备URL,是JDBC连接MySQL数据库的URL
             String url = "jdbc:postgresql://192.168.100.120:5432/test?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf8&amp;zeroDateTimeBehavior=convertToNull";
             //3.通过DriverManager获取到连接对象
             Connection con = DriverManager.getConnection(url,"postgres","postgres");
             
          
             //4.关闭数据库连接释放资源
             
             
             if(!con.isClosed())
                 System.out.println("成功连接数据库");
             
             Statement statement = con.createStatement();
           
             String sql = "select * from safe_user";
          
             ResultSet rs = statement.executeQuery(sql);
                       
           
            while(rs.next()){
                
               System.out.println("姓名:"+ rs.getString("user_id") + ", 昵称:" + rs.getString("user_nickname") + ", 电话:" + rs.getString("user_tel") + ", 邮箱:" +rs.getString("user_email") + ", 性别:" + rs.getString("user_sex")+ ", 生日:" + rs.getString("user_birthday") + ", 城市:" +rs.getString("user_city") + ", 国家:" + rs.getString("user_country") + "。");
             }
             rs.close();
            con.close();
           
        } catch(ClassNotFoundException e) {   
             
             System.out.println("Sorry,can`t find the Driver!");   
             e.printStackTrace();   
             } catch(SQLException e) {
        
             e.printStackTrace();  
             }catch (Exception e) {
             // TODO: handle exception
             e.printStackTrace();
         }
     }

 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值