java连接数据库(JDBC)

import java.sql.DriverManager;
import java.sql.ResultSet;


import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
//首先导入mysql所需要的jar包:(mysql-connector-java-5.1.7-bin.jar)
public class Demo1 {
/**
* 注意:在实际开发中并不推荐采用registerDriver方法注册驱动。原因有二:
一、查看Driver的源代码可以看到,如果采用此种方式,会导致驱动程序注册两次,也就是在内存中会有两个Driver对象。
二、程序依赖mysql的api,脱离mysql的jar包,程序将无法编译,将来程序切换底层数据库将会非常麻烦。

推荐方式:Class.forName(“com.mysql.jdbc.Driver”);
采用此种方式不会导致驱动对象在内存中重复出现,并且采用此种方式,程序仅仅只需要一个字符串,不需要依赖具体的驱动,使程序的灵活性更高。

同样,在开发中也不建议采用具体的驱动类型指向getConnection方法返回的connection对象。
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
//1.加载驱动程序
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//推荐方式
Class.forName("com.mysql.jdbc.Driver");
//2.链接数据库(如果报异常设置为:jdbc:mysql://localhost:3306/test?useSSL=true&characterEncoding=UTF8)
Connection conn=(Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/day12?useSSL=true&charcterEncoding=UTF8","root","root");
//                                                       协议        子协议        主机:端口号                        数据库
/*
* 常用数据库URL地址的写法:
Oracle写法:jdbc:oracle:thin:@localhost:1521:sid
SqlServer—jdbc:microsoft:sqlserver://localhost:1433; DatabaseName=sid
MySql—jdbc:mysql://localhost:3306/sid
Mysql的url地址的简写形式: jdbc:mysql:///sid
常用属性:useUnicode=true&characterEncoding=UTF-8


*/
//3.得到向数据库发送sql语句的对象
Statement stmt=(Statement) conn.createStatement();
/**
* Statement对象常用方法:
executeQuery(String sql) :用于向数据发送查询语句。
executeUpdate(String sql):用于向数据库发送insert、update或delete语句
execute(String sql):用于向数据库发送任意sql语句
addBatch(String sql) :把多条sql语句放到一个批处理中。
executeBatch():向数据库发送一批sql语句执行。
*/
String sql="select id,name,password,email,birthday from users;";
//4.得到结果对象
ResultSet rs= stmt.executeQuery(sql);
/**
* ResultSet还提供了对结果集进行滚动的方法:
next():移动到下一行
Previous():移动到前一行
absolute(int row):移动到指定行
beforeFirst():移动resultSet的最前面。
afterLast() :移动到resultSet的最后面。


*/
//5.打印结果
//while(rs.next()){
rs.absolute(2);
//rs.afterLast();
//rs.previous();
System.out.print(rs.getObject("id"));
System.out.print("\t"+rs.getObject("name"));
System.out.print("\t"+rs.getObject("password"));
System.out.print("\t"+rs.getObject("email"));
System.out.println("\t"+rs.getObject("birthday"));
/*User user=new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setPassword(rs.getString("password"));
user.setEmail(rs.getString("email"));
user.setBirthday(rs.getDate("birthday"));
System.out.println(user);*/

//}
rs.close();
stmt.close();
conn.close();

}
}

猜你喜欢

转载自blog.csdn.net/wyl_1483061559/article/details/79997638