通过jdbc实现对数据库中数据的增删查改操作
2016-01-17 11:23
806 查看
原始的东西该理解还是要理解
需要一个连接数据库的jar包(这里用的是MySQL):http://download.csdn.net/detail/zhengyikuangge/9406895
直接上代码:
public class ValueDao { public String DRIVER = "com.mysql.jdbc.Driver"; //mysql驱动 public String url = "jdbc:mysql://localhost/mysql"; /* 数据库路径,localhost表示本地ip,如果使用的是默认端口号可以省略书写 端口号。如果要加端口号,则上述url改成:"jdbc:mysql://localhost: 3306/mysql"。 3306即为mysql默认的端口号 */ public String name = "root"; //数据库的用户名 public String psd = "123456"; //数据库的密码 public Connection conn; //声明数据库连接的变量 public PreparedStatement ptmt; //声明预处理命令行的变量 public Statement stmt; //Statement没有明确的定义 public ResultSet rs; //结果集变量 private void getConnection() throws Exception { Class.forName(DRIVER); //加载驱动 conn = DriverManager.getConnection(url, name, psd); //获取连接 } public String search(String sql) throws Exception { String s = null; getConnection(); stmt = conn.createStatement(); //创建Statement对象 rs = stmt.executeQuery(sql); //执行sql语句并获得返回结果集 while (rs.next()) { /* rs.next()表示遍历,getString方法参数 中可以放列名或第几列,例如第一列就用数字1表示。 */ s = rs.getString(1) + rs.getString(2); } closeAll(); //关闭所有连接 return s; } public int update(String sql, String[] values) throws Exception { // TODO Auto-generated method stub int rows = 0; getConnection(); ptmt = conn.prepareStatement(sql); //获得预处理命令行对象 for (int i = 0; i < values.length; i++) { /* 对预处理命令行对象进行进一步的加工,sql语句中可以用"?"来 代替未知量,然后用把数组中的元素替代sql语句中的"?"。例如 update("delete from student where stu_no=?",new String[]{"2"}),到最后合成的结果是:delect from student where stu_no=2。 */ ptmt.setString(i + 1, values[i]); //问号的位置从1开始 } rows = ptmt.executeUpdate(); //执行已经处理好的sql语句 closeAll(); //关闭所有连接 return rows; } private void closeAll() throws Exception { //这个方法就不用解释了。。 if (stmt != null) { stmt.close(); } if (ptmt != null) { ptmt.close(); } if (conn != null) { conn.close(); } } }
关于PreparedStatement和Statement的区别:
PreparedStatement是Statement的子类,青出于蓝,前者具有后者的功能且比后者更加实用与安全。
相关文章推荐
- 数据库事物之冲突可串行化、优先图、视图等价和视图可串行化
- 数据库操作
- 在线学习SQL语句?没问题~~
- Mycat学习笔记 第二篇. MySql 读写分离与日志分析——主从多结点
- Mysql 数据类型--课程笔记
- MongoDB写关注
- mysql安装教程
- GreenPlumn数据库体系结构
- Mac下使用MySQL
- SQL高级查询
- mysql安装配置
- 删除指定时间段分区的SQL
- [数据库] SQL语句select简单记录总结
- 使用SQLAlchemy时数据库连接池的问题
- Redis上踩过的一些坑-美团
- MongoDB 基本操作
- MongoDB 命令
- MySQL 常用语法总结
- Memcache使用
- Redis的性能幻想与残酷现实