看了几天的mybatis源码,追踪到底层。发现已将昔日的jdbc给忘了,真是惭愧呀。于是写个demo回顾一下。
jdbc的jar包:http://download.youkuaiyun.com/detail/mmd0308/9799431
public void
demo1()
throws ClassNotFoundException
, SQLException {
/**
* 加载MySql驱动程序
* 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
*/
Class. forName( "com.mysql.jdbc.Driver") ;
/**
* 提供JDBC连接的URL
*连接URL定义了连接数据库时的协议、子协议、数据源标识。
*书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
*useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
*/
String url = "jdbc:mysql://192.168.1.140:3306/mybatis?useUnicode=true&characterEncoding=utf-8" ;
/**
* 数据库用户名
*/
String username = "root" ;
/**
* 密码
*/
String password = "root" ;
/**
*要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,
*该对象就代表一个数据库的连接。
*使用DriverManager的getConnectin(String url , String username ,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得
*/
Connection con = DriverManager. getConnection(url ,username ,password) ;
/**
* 创建一个Statement两种方式:
* 静态SQL语句。通常通过Statement实例实现。 **************************不建议使用,有SQL注入的安全问题
* Statement statement = con.createStatement();
* statement.executeQuery("select * from sys_users");
*
* 动态SQL语句。通常通过PreparedStatement实例实现。
*/
PreparedStatement ps = con.prepareStatement( "select * from sys_users") ;
/**
* 执行查询返回的结果是一个ResultSet对象。
* ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
* 使用结果集(ResultSet)对象的访问方法获取数据:
*/
ResultSet rs = ps.executeQuery() ;
while (rs.next()){
System. out.println(rs.getString( "job")) ;
}
/**
* 操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
*/
rs.close() ;
ps.close() ;
con.close() ;
}
/**
* 加载MySql驱动程序
* 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
*/
Class. forName( "com.mysql.jdbc.Driver") ;
/**
* 提供JDBC连接的URL
*连接URL定义了连接数据库时的协议、子协议、数据源标识。
*书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
*useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
*/
String url = "jdbc:mysql://192.168.1.140:3306/mybatis?useUnicode=true&characterEncoding=utf-8" ;
/**
* 数据库用户名
*/
String username = "root" ;
/**
* 密码
*/
String password = "root" ;
/**
*要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,
*该对象就代表一个数据库的连接。
*使用DriverManager的getConnectin(String url , String username ,String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和密码来获得
*/
Connection con = DriverManager. getConnection(url ,username ,password) ;
/**
* 创建一个Statement两种方式:
* 静态SQL语句。通常通过Statement实例实现。 **************************不建议使用,有SQL注入的安全问题
* Statement statement = con.createStatement();
* statement.executeQuery("select * from sys_users");
*
* 动态SQL语句。通常通过PreparedStatement实例实现。
*/
PreparedStatement ps = con.prepareStatement( "select * from sys_users") ;
/**
* 执行查询返回的结果是一个ResultSet对象。
* ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些行中数据的访问。
* 使用结果集(ResultSet)对象的访问方法获取数据:
*/
ResultSet rs = ps.executeQuery() ;
while (rs.next()){
System. out.println(rs.getString( "job")) ;
}
/**
* 操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
*/
rs.close() ;
ps.close() ;
con.close() ;
}