时间:2021-07-01 10:21:17 帮助过:36人阅读
概念:Java DataBase Connectivity,java数据库连接,java语言操作数据库
JDBC本质:其实是官方定义的一套操作所有关系型数据库的规则,即接口.各个数据库产商去实现这个接口,提供数据库确定jar包.这套接口编程,真正执行的是驱动jar包的实现类
快速入门
ConnectionStatement详解各个对象
DriverManager:驱动管理对象
mysql-connection-java5.0之后可以不需要注册驱动)
static void registerDriver(Driver driver):注册用户给定的驱动程序DriverManager.Class.forName("com.mysql.jdbc.Driver");将该类加载入内存.通过查看源码发现,在com.mysql.jdbc.Driver类中存在静态代码块.静态代码块在程序执行时自动执行,那么可以看到加载类时真正运行的是java.sql.DriverManager.registerDriver(new Driver());这句话static {
try {
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException("Can‘t register driver!");
}
}
static Connection getConnection(String url, String user, String password):尝试建立与给定数据库URL的连接。jdbc : mysql://ip地址或域名:端口号/数据库名称jdbc : mysql:///数据库名称Statement createStatement()PreparedStatement prepareStatement(String sql)void setAutoCommit(boolean autoCommit)调用该方法,设置参数为false,即开启事务void commit()void rollback()boolean execute(String sql):可以执行任意的sql.int executeUpdate(String sql):执行DML(insert,delete,update),DDL(create,alter,drop)语句,返回值是影响的行数ResultSet excuteQuery(String sql):执行DQL语句(select)
boolean next():游标向下移动一行,判断当前是否是最后一行末尾(是否有数据),如果是,则返回false(没有数据),如果不是则返回true(有数据)int getInt() //循环判断游标是否是最后一行末尾
while (resultSet.next()){
int id=resultSet.getInt("id");
String name=resultSet.getString("name");
int balance=resultSet.getInt("balance");
System.out.println("id---"+id+"---name---"+name+"---balance---"+balance);
}
public List<Emp> findAll()select * from emp;PreparedStatement:执行sql的对象
PreparedStatement:用于执行预编译的SQL语句select * from user where username = ? and password = ?(PreparedStatment):Connection.preparedStatment(String sql)PreparedStatment来完成增删改查的操作
总结
Class.forName("com.mysql.jdbc.Driver");String sql;DriverManager.getConnection("jdbc : mysql://ip地址或域名:端口号/数据库名称", "账户", "密码");statement=connection.createStatement();statement.executeUpdate(sql); 执行DML(insert,delete,update),DDL(create,alter,drop)语句,返回值是影响的行数statment.excuteQuery(sql):执行DQL语句(select),返回一个ResultSet结果集合statment.excute(sql):执行所有的sql语句,返回boolean值setAutoCommit(boolean autoCommit):调用该方法设置参数false,即开启事务
commit()
rollback()
JDBC连接数据库
标签:本质 服务器 reg word 类加载 lan 字符 resultset 本机