数据库驱动 JDBC常用接口类 JDBC的连接
JDBC,即Java Database Connectivity,java数据库连接。是一种用于执行SQL语句的Java API,它是Java中的数据库连接规范。
JDBC连接实例(IDEA演示)
一,准备工作:
1 下载驱动包
官网,maven中央仓库
2导入到项目中
一般导入包起名字为lib,将驱动包下载到lib中,把这个架包标记为项目要的库
二编写JDBC
1创建并初始化数据源
2和数据库建立连接
3构造SQL语句
3执行SQL语句
4释放资源
INSERT
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;
public class Insert {
public static void main(String[] args) throws SQLException {
Scanner sc = new Scanner(System.in);
//创建数据源
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java107?characterEncoding=utf8&useSSL=false");
((MysqlDataSource)dataSource).setUser("root");
((MysqlDataSource)dataSource).setPassword("1234");
//连接数据库
Connection connection = null;
try {
connection = dataSource.getConnection();//变量要使用java.sql包下的Connection
} catch (SQLException e) {
e.printStackTrace();
}
//构造SQL对象
System.out.println("请输入学生姓名");
String name =sc.next();
System.out.println("请输入学号");
int id= sc.nextInt();
String sql = "insert into student value(?,?)";
PreparedStatement statement = connection.prepareStatement(sql); //对sql语句进行预编译
statement.setInt(1,id);
statement.setString(2,name);
System.out.println(statement);
//执行SQL;
int ret = statement.executeUpdate();
System.out.println(ret);
//关闭资源
statement.close();
connection.close();
}
}
SELECT
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Select {
public static void main(String[] args) throws SQLException {
DataSource dataSource = new MysqlDataSource();
((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java107?characterEncoding=utf8&useSSL=false");
((MysqlDataSource)dataSource).setUser("root");
((MysqlDataSource)dataSource).setPassword("1234");
Connection connection =dataSource.getConnection();
String sql = "select * from student";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()){
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("学号:"+id+",姓名:"+name);
}
resultSet.close();
statement.close();
connection.close();
}
}
注释:
DateSource:数据源
url:唯一资源定位符
((MysqlDataSource)dataSource).setUrl(“jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=utf8&useSSL=false”);
mysql:数据库名
127,0,0,1:ip地址
characterEncoding=utf8:编码格式
SSL:加密协议