Youhavetobelieveinyourself.Thatisthesecretofsuccess.
人必须相信自己,那是你成功的秘诀。 --卓别林
如果没有虚拟机,没有mysql请查阅资料,自行完成。
我们要想操作mysql数据库,jdk本身是无法操作的,因为java并不知道将来开发者需要使用java连接什么样的数据库,所以jdk本身只提供一系列接口
要想使用java链接并操作mysql的话,需要找到mysql团队开发好的驱动包,包中具有实现了jdk接口的类的class文件
需要找到这样一份驱动包,放在我们的项目中,这样我们就可以使用java语言操作mysql了。
JDBC编程6步:
1.注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
2.获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,使用完后记得关闭通道)。
3.获取数据库操作对象(专门执行sql语句的对象)
4.执行SQL语句(DQL,DML…)
5.处理查询结果集 (只有当第四步执行的是select语句的时候,才有本步)
6.释放资源(使用完资源后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要记得关闭)
package .day18;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
/*
我们要想操作mysql数据库,jdk本身是无法操作的,因为java并不知道将来开发者需要使用java连接什么样的数据库,所以jdk本身只提供一系列接口
要想使用java链接并操作mysql的话,需要找到mysql团队开发好的驱动包,包中具有实现了jdk接口的类的class文件
需要找到这样一份驱动包,放在我们的项目中,这样我们就可以使用java语言操作mysql了。
JDBC编程6步:
1.注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
2.获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,使用完后记得关闭通道)。
3.获取数据库操作对象(专门执行sql语句的对象)
4.执行SQL语句(DQL,DML…)
5.处理查询结果集 (只有当第四步执行的是select语句的时候,才有本步)
6.释放资源(使用完资源后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要记得关闭)
*/
public class JDBCDemo1 {
public static void main(String[] args) throws Exception{
//1.注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,使用完后记得关闭通道)。
/**
* url: 超链接,指定mysql服务器的地址
* jdbc:mysql://192.168.177.101:3306/bigdata31
* user: root
* password: 123456
*
*
* */
Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.177.101:3306/bigdata31?useUnicode=true&characterEncoding=utf-8&useSSL=false", "root", "123456");
//?useUnicode=true&characterEncoding=utf-8&useSSL=false
//使用自定义的编码 & 自定的编码是什么(如GBK、utf-8等等) & 可以使连接不产生警告
//3.获取数据库操作对象(专门执行sql语句的对象)
Statement state = conn.createStatement();
//4.执行SQL语句(DQL,DML…)
//executeQuery: 查询语句
//executeUpdate: 增删改语句
/*
添加操作
*/
// int i = state.executeUpdate("insert into student values(1003,'张','中国')");//返回值是受影响的行数
// if(i==1){
// System.out.println("成功");
// }else{
// System.out.println("失败");
// }
/*
删除操作
*/
// int i = state.executeUpdate("delete from admin where id=1001");
// if(i==1){
// System.out.println("成功");
// }else{
// System.out.println("失败");
// }
//
/*
修改操作
*/
// int i = state.executeUpdate("update admin set username='张三' where id=1002");
// if(i==1){
// System.out.println("成功");
// }else{
// System.out.println("失败");
// }
/*
executeQuery
*/
// String sql = "SELECT\n" +
// "\tt1.empno AS eno,\n" +
// "\tt1.ename AS ename,\n" +
// "\tt1.hiredate AS edate,\n" +
// "\tt2.empno AS lno,\n" +
// "\tt2.ename AS lname,\n" +
// "\tt2.hiredate AS ldate \n" +
// "FROM\n" +
// "\temp t1\n" +
// "\tJOIN emp t2 ON ( t1.mgr = t2.empno ) \n" +
// "WHERE\n" +
// "\tt1.hiredate < t2.hiredate;";
//
// ResultSet resultSet = state.executeQuery(sql);
// //next()判断表中是否有多余的条数数据
// while(resultSet.next()){
// //取出每一条数据中的每一列
// //根据列名写出
// int eno = resultSet.getInt("eno");
// String ename = resultSet.getString("ename");
// String edate = resultSet.getString("edate");
// int lno = resultSet.getInt("lno");
// String lname = resultSet.getString("lname");
// String ldate = resultSet.getString("ldate");
// System.out.println(eno +" "+ ename +" "+ edate +" "+ lno +" "+ lname +" "+ ldate);
// }
//6.释放资源(使用完资源后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要记得关闭)
state.close();
conn.close();
}
}