Java JDBC数据库连接规范介绍(JavaDatabaseConnectivity)
1.四个核心类
DriverManager --创建连接
Connection --连接类
Statement --执行SQL语句
ResultSet --结果集
2.JDBC连接的六个步骤
1)注册驱动
2)获取连接-Connection
3)获取sql语句的执行对象-Statement
4)执行sql语句,返回结果集-ResultSet
5)处理结果集
6)关闭资源
//查询语句
public class Demo01 {
public static void main(String[] args) throws Exception {
//1.注册驱动连接,用DriverManager类调用registerDriver(这里填写的是Driver匿名对象)方法,但是Driver里面有一个静态的代码块,当Driver这个类一加载就再次调用DriverManager.registerDriver(new com.mysql.jdbc.Driver());,所以不用这个了,直接将Driver类加载到内存中去,就可以了
//加载到内存中的格式:包名+类名
Class.forName("com.mysql.jdbc.Driver");
//2.注册完驱动,获取连接对象
//这里有三种获取连接方式
//第一种
//url访问数据的连接地址
String url = "jdbc:mysql://localhost:3306/数据库名";
Connection connection = DriverManager.getConnection(url,"登录名","登录的密码");
//第二种---我们需要创建Properties集合
Properties info = new Properties();
//设置键值对/属性值
info.setProperty("user","root");//这里是设置用户名
info.setProperty("password","123456");//这里是设置密码的
Connection connection = DriverManager.getConnection(url,info);//这里把集合中的数据都传入获取连接的方法里
//第三种--使用get请求,携带参数,访问连接
String url1 ="jdbc:mysql://localhost:3306/数据库名user=用户名&password=密码";
Connection connection = DriverManager.getConnection(null);
//3.获取执行sql语句的对象
Statement statement = connection.createStatement();
//4.执行sql语句并返回结果集
//注:这里结果集中所添加的索引,要和查询语句中的字段相对应
//这里是查询语句
String sql = "select * from users";
ResultSet resultSet = statement.executeQuery(sql);
//5.处理结果集,
while(resultSex.next()){
System.out.println(resultSet.getObject(1));
System.out.println(resultSet.getObject(2));
System.out.println(resultSet.getObject(3));
System.out.println(resultSet.getObject(4));
System.out.println(resultSet.getObject(5));
System.out.println("_____________________");
}
//6.关闭资源
resultSet.close();
statement.close();
connection.close();
//增删改查语句
public class DemoCRUD{
//注解:用来测试方法
@Test
public void test throws Exception{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/myjdbc"
Connection connection = DriverManager.getConnection(url,"root","123455");
Statement statement = connection.createStatement();
//这里是添加数据
String sql ="insert into users values(2,'gs','123','123@qq.com','1993-1-1')";
//statement.executeUpdate();sql执行对象调用更新方法,这个方式也是删除的方法
int row = statement.executeUpdate(sql);
//这里返回的row表示受影响的行数
//我们可以通过受影响行数来判断是否执行成功
if(row>0){
System.out.println("插入成功");
}
}
}
//连接数据库连接异常处理
//这里我们把结果集的每条记录当做对象放到集合当中,所以我们先创建一个对象,将一条记录的每一列添加到对象中
//创建一个User对象
public class User {
//我们设置是,对于对象中的属性名,尽量和数据库中的字段名相同,不容易出错
private int id;
private String name;
private String password;
private String email;
private Date birthday;
public User() {
super();
}
public User(int id, String name, String password, String email, Date birthday) {
super();
this.id = id;
this.name = name;
this.password = password;
this.email = email;
this.birthday = birthday;
}
public int ge