Java JDBC学习笔记
2016-02-14 23:54
633 查看
JDBC
JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作。JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver、Connection、Statement、ResultSet,这些接口定义了使用SQL访问数据库的一般架构。当程序远程访问mysql时,不能使用root账号和密码登录,这样是为了mysql的安全考虑,可以先新建一个mysql账号用来测试。
使用JDBC访问数据库步骤
以下是典型Java程序访问数据库的步骤1、加载驱动程序
在连接数据库前,需要加载一个合适的驱动程序(驱动具体的数据库)。
Class.forName(“JDBCDriverClass”);
驱动程序是一个实现接口java.sql.Driver的具体类,如下表所示:
2、建立连接
建立连接,需要使用DriverManager类中的静态方法getConnection(databaseURL)。
Connection conn = (Connection)DriverManager.getConnection(databaseURL);
databaseURL是数据库在Internet上的唯一标识,以下是示例:
Connection connection = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/test", "luoxn28", "123456");
3、创建语句
Statement为数据库传输SQL语句,并把结果集返回给程序。
Statement statement = (Statement) connection.createStatement();
4、执行语句
使用方法executeUpdate(String sql)来执行SQL DDL或更新语句,使用方法executeQuery(String sql)来执行查询,查询结果在ResultSet中返回。
statement.executeUpdate(“createtable persion (name char(10), age int)”); // 更新操作
ResultSet resultSet =statement.executeQuery("select * frompersion"); // 查询操作
5、处理ResultSet
结果集ResultSet中有一个表,该表的当前行可以访问。当前行的起始位置null,可以使用next()移动到下一行,可以使用各种get()方法从当前行中获取值,如下所示:
while (resultSet.next()){
System.out.println(resultSet.getString(1) + " " + resultSet.getString(2));
}
jdbc连接mysql程序示例
package JDBC; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; import com.mysql.jdbc.Statement; public class DemoMysql { public static void main(String[] args) throws SQLException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Deriver loaded ok"); // 这个是本地IP地址,127.0.0.1 Connection connection = (Connection) DriverManager.getConnection( "jdbc:mysql://localhost/test", "luoxn28", "123456"); Statement statement = (Statement) connection.createStatement(); ResultSet resultSet = statement.executeQuery("select * from persion"); while (resultSet.next()) { System.out.println(resultSet.getString(1) + " " + resultSet.getString(2)); } connection.close(); } }
PreparedStatement
Statement用于执行不含参数的静态sql语句,PreparedStatement由Statement扩展而来,用于执行含有或不含参数的预编译SQL语句,由于SQL语句是预编译的,所以重复执行它效率较高。PreparedStatement由Connection接口中的preparedStatement方法创建。PreparedStatement preparedStatement= (PreparedStatement) connection.prepareStatement(
"insert into persion (name, age) values (?, ?)");
jdbc使用PreparedStatement程序示例
package JDBC; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.Connection; import com.mysql.jdbc.PreparedStatement; import com.mysql.jdbc.Statement; public class DemoMysql { public static void main(String[] args) throws SQLException, ClassNotFoundException { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Deriver loaded ok"); // 这个是本地IP地址,127.0.0.1 Connection connection = (Connection) DriverManager.getConnection( "jdbc:mysql://localhost/test", "luoxn28", "123456"); Statement statement = (Statement) connection.createStatement(); ResultSet resultSet = statement.executeQuery("select * from persion"); while (resultSet.next()) { System.out.println(resultSet.getString(1) + " " + resultSet.getString(2)); } // 插入一条记录 PreparedStatement preparedStatement = (PreparedStatement) connection.prepareStatement( "insert into persion (name, age) values (?, ?)"); preparedStatement.setString(1, "hdu"); preparedStatement.setInt(2, 23); preparedStatement.executeUpdate(); connection.close(); } }
参考资料
《Java语言程序设计 第8版》进阶篇 JDBC章节相关文章推荐
- jdbc中的Statement和PreparedStatement接口对象
- JDBC 数据库常用连接 链接字符串
- JDBC连接Access数据库的几种方式介绍
- JDBC程序更新数据库中记录的方法
- JDBC 程序的常见错误及调试方法
- 在Java的JDBC使用中设置事务回滚的保存点的方法
- Java中使用JDBC操作数据库简单实例
- Java加载JDBC驱动程序实例详解
- JSP使用JDBC完成动态验证及采用MVC完成数据查询的方法
- JSP基于JDBC的数据库连接类实例
- JSP中使用JDBC访问SQL Server 2008数据库示例
- jsp+jdbc实现连接数据库的方法
- 解析jdbc处理oracle的clob字段的详解
- JDBC数据库的使用操作总结
- jdbc操作mysql数据库实例
- JSP使用JDBC连接MYSQL数据库的方法
- Java开发Oracle数据库连接JDBC Thin Driver 的三种方法
- java使用jdbc操作数据库示例分享
- JDBC之PreparedStatement类中预编译的综合应用解析
- 基于Java回顾之JDBC的使用详解