java复习之jdbc

来源:互联网 发布:网络飚车游戏 编辑:程序博客网 时间:2024/05/01 07:50

声明:这是看了传智播客JDBC视频教程,写的一点笔记,勿喷  不知道算不算侵权


jdbc由java.sql、javax.sql包组成的,使用时注意手动import或者用myeclipse快捷键导入

应用程序要访问数据库,得通过一个中间工具,被称为驱动程序,数据库驱动是由各个数据库厂商提供的,数据库驱动就是实现了jdbc接口的类。



连接数据库的步骤如下:

1、注册驱动

2、建立连接(connection) 建立连接是很消耗资源的,因此只做一次

3、创建执行sql语句的处理器(statement)

4、执行sql语句

5.处理执行结果(ResultSet)

6、释放资源


简单的连接数据库的例子:

首先得添加相应的jdbc的架包,然后开始编写java代码


//加载驱动
Class.forName("oralce.jdbc.driver.OracleDriver");

//通过驱动管理器获取连接对象 url  用户名 密码 、
//其中localhost是指连接本地数据库 orcl是数据库名 1521是oracle的端口号 mysql是3306 前面的是协议
Connection  conn =  DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","system","niit");

//获取处理器
Statement st = conn.createStatement();

//执行SQL语句
ResultSet rs = st.executeQuery("select * from t_user");

//ResultSet里有一个记录指针。记录指针指向第一条记录的上面。
//res.next()的大致意思是,记录指针向下移动一个位置,如果其指向一条有效记录,则返回真;
//否则返回假。只有使记录指针不断移动,才能不断取出数据库中的数据。
while(rs.next())
{
System.out.println("ID:"+rs.getObject(1)+",name:"+rs.getObject(2)+",password:"+rs.getObject(3));
}


单例模式

延迟加载:当第一次使用时创建实例



//提供静态实例属性
private static JdbcUtilsSing instance;


//私有构造方法
private JdbcUtilsSing()
{}


//提供静态方法返回实例
public static JdbcUtilsSing  getInstance()
{
//首先判断实例是否存在
if(instance == null)
{
//加锁  保证线程安全
synchronized (JdbcUtilsSing.class) 
{
//双重检查
if(instance == null)
{
instance = new JdbcUtilsSing();
}
}
}

//返回实例
return instance;
}



Statement的Sql注入问题
预处理PreparedStatement(特殊字符的处理、性能的优化)


注入参数ps.setXXX(1,name); 替换占位符,索引从一开始


原创粉丝点击