jdbc之使用占位符的增删改查
package com.hanchao.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;/*** jdbc学习总结二* @author hanlw* 2012-07-09*/public class TestJdbcNew {/*** 上一篇文章,我们对JDBC有了初步的了解,并且知道了如何使用JDBC了。* 但是,那只是JDBC的了解性操作实例。实际开发中,我们是不能那么玩的!!** ★下面我们学习一下:JDBC的占位符的使用,以后写程序建议都要这么玩的!!** 注意事项:我们的异常应该捕获;而不是抛出来啊!!** SQLException是非运行时异常,必须要捕获或者向上抛出!!★*/public static void main(String[] args) throws Exception {/*** 1.jdbc对Mysql的insert操作*/// insert("cherry","shanghai");/*** 2.jdbc对mysql的update操作*/// update("update",12);/*** 3.jdbc对mysql的delete操作*/// delete(12);/*** 4.jdbc对mysql的retrieve 操作*/retrieve(15);}/*** jdbc对mysql的insert操作** @param username 用户名* @param address 地址*/public static void insert(String username,String address) throws Exception {Class.forName("com.mysql.jdbc.Driver");Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","root");//注意下面几行★String sql = "insert into t_user(username,address) values(?,?)"; //★PreparedStatement sta = con.prepareStatement(sql);sta.setString(1, username);sta.setString(2, address);int rows = sta.executeUpdate();if(rows > 0) {System.out.println("operate successfully!");}sta.close();con.close();}/*** jdbc对mysql的update操作** @param address 地址* @param id 主键值* @throws Exception*/public static void update(String address,int id) throws Exception {Class.forName("com.mysql.jdbc.Driver");Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","root");//★注意下面几行代码String sql = "update t_user set address=? where id=?";PreparedStatement sta = con.prepareStatement(sql);sta.setString(1, address);sta.setInt(2, id);int rows = sta.executeUpdate();if(rows > 0) {System.out.println("operate successfully");}sta.close();con.close();}/*** jdbc对mysql的删除操作** @param id* @throws Exception*/public static void delete(int id) throws Exception {Class.forName("com.mysql.jdbc.Driver");Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","root");//★注意点String sql = "delete from t_user where id=?";PreparedStatement sta = con.prepareStatement(sql);sta.setInt(1, id);int rows = sta.executeUpdate();if(rows > 0) {System.out.println("operate successfully!!");}sta.close();con.close();}/*** jdbc对mysql的retrieve操作** @param id* @throws Exception*/public static void retrieve(int id) throws Exception {Class.forName("com.mysql.jdbc.Driver");Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/mydb","root","root");//注意★String sql = "select id,username,address from t_user where id=?";PreparedStatement sta = con.prepareStatement(sql);sta.setInt(1, id);ResultSet rs = sta.executeQuery();//注意:当现实一条记录时:while可以换成if。★if(rs.next()) {int did补充:软件开发 , Java ,
上一个:Java接口和抽象类的区别
下一个:反射机制详解
- 更多JAVA疑问解答:
- java怎么在线读取ftp服务器上的文件内容
- 关于程序员的职业规划
- HTML和JSP矛盾吗?
- java小程序如何打包?
- java怎么split路径文件名?
- jsp+javaBean中Column 'ordersPrice' specified twice的错误
- Java TCP/IP Socket网络编程系列
- 大家来讨论一下我到底该用什么好?Swing 还是 JavaFX
- 关于Hibernate实体自身多对一的抓取问题
- 关于apache2+tomcat群集出现的问题
- spring 获取上下文问题
- SSH 导入导出excel 谁有这块的资料吗?
- Ext TreePanel 刷新问题
- springmvc 加载一个jsp页面执行多个方法 报404
- checkbox数组action怎么向页面传值