jdbc 编程步骤
1.根据应用程序的数据库,选择jdbc驱动程序
2.连接数据库,得到connection对象
3.通过connection对象创建statement对象
4.使用statement对象提交sql语句
5.操作结果集
6.回收数据库资源
连接数据库
Class.forName("com.mysql.jdbc.Driver") 加载驱动程序
URL <主协议>:<子协议>:<数据源名>
jdbc:mysql://主机名:端口号/数据库名
jdbc:mysql://localhost:3306/student
通过connection对象创建statement对象 通常用于执行一个肯定只发生一次并且没有参数
connnection connn;
conn=drivermanager.getconnection(url,name,pwd) 数据库名称 登录密码
使用jdbc执行sql语句
statement st;
String sql=" ";
st=conn.createstatement();
调用适当的方法执行
resultset rs=st.excutequery(sql);
st.addbatch(sql) 方法可执行批量sql语句
int a[]=st.excutebatch();
preparedstatement为statement子类 预编译
preparedstatement pre;
pre=conn.preparedstatement("insert into student(name,phone) values(?,?)")
pre.setString(1,"ming");
pre(2,"13XXXXXXXXXX")
int count=pre.excuteupdate();
管理结果集
//插入,删除,更新指定行数据
pre = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = pre.executeQuery();
rs.moveToInsertRow();
rs.updateString(2, "zhang");
rs.updateString(3, "WashingTon");
rs.insertRow();// 插入数据
rs.absolute(4);
rs.updateString(2, "chen");
rs.updateString(3, "Los Angeles ");
rs.updateRow();// 更新数据
rs.relative(-3);
rs.deleteRow();// 删除
//读出指定行数据
pre = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = pre.executeQuery();
System.out.println("第一条记录");
rs.absolute(1);
System.out.println(rs.getString(2) + " " + rs.getString(3));
System.out.println("第二条记录");
rs.absolute(2);
System.out.println(rs.getString(2) + " " + rs.getString(3));
System.out.println("最后一条记录");
rs.last();
System.out.println(rs.getString(2) + " " + rs.getString(3));
1.根据应用程序的数据库,选择jdbc驱动程序
2.连接数据库,得到connection对象
3.通过connection对象创建statement对象
4.使用statement对象提交sql语句
5.操作结果集
6.回收数据库资源
连接数据库
Class.forName("com.mysql.jdbc.Driver") 加载驱动程序
URL <主协议>:<子协议>:<数据源名>
jdbc:mysql://主机名:端口号/数据库名
jdbc:mysql://localhost:3306/student
通过connection对象创建statement对象 通常用于执行一个肯定只发生一次并且没有参数
connnection connn;
conn=drivermanager.getconnection(url,name,pwd) 数据库名称 登录密码
使用jdbc执行sql语句
statement st;
String sql=" ";
st=conn.createstatement();
调用适当的方法执行
resultset rs=st.excutequery(sql);
st.addbatch(sql) 方法可执行批量sql语句
int a[]=st.excutebatch();
preparedstatement为statement子类 预编译
preparedstatement pre;
pre=conn.preparedstatement("insert into student(name,phone) values(?,?)")
pre.setString(1,"ming");
pre(2,"13XXXXXXXXXX")
int count=pre.excuteupdate();
管理结果集
//插入,删除,更新指定行数据
pre = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = pre.executeQuery();
rs.moveToInsertRow();
rs.updateString(2, "zhang");
rs.updateString(3, "WashingTon");
rs.insertRow();// 插入数据
rs.absolute(4);
rs.updateString(2, "chen");
rs.updateString(3, "Los Angeles ");
rs.updateRow();// 更新数据
rs.relative(-3);
rs.deleteRow();// 删除
//读出指定行数据
pre = conn.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
rs = pre.executeQuery();
System.out.println("第一条记录");
rs.absolute(1);
System.out.println(rs.getString(2) + " " + rs.getString(3));
System.out.println("第二条记录");
rs.absolute(2);
System.out.println(rs.getString(2) + " " + rs.getString(3));
System.out.println("最后一条记录");
rs.last();
System.out.println(rs.getString(2) + " " + rs.getString(3));