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&useUnicode=true&characterEncoding=utf8&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();
}
}
}