JavaJDBC【三、增删改查】
获取数据库连接后,可进行增删改查操作
- 语句生成: 
 Statement s = con.createStatement(sql); //生成语句
 PreparedStatement ps = (PreparedStatement) c.prepareStatement(sql); //预准备,可以填充参数
 ps.setXXX(n,value); //可以通过set来填充参数值,位置,值
- 参数查询: 
 s.executeUpdate(); //执行非查询操作,增删改
 s.executeQuery(); //执行查询
Demo:
public class JDBCDAO {
public static int addJDBC(JDBCModel m) throws SQLException {
	Connection c = DBUtil.GetConnection();
	// current_time() mysql内置函数,当前时间
	String sql = "insert jdbc (id,name,createtime) "
			+ "values(?,?,current_time())";
	PreparedStatement ps = (PreparedStatement) c.prepareStatement(sql);
	ps.setLong(1, 0);// 主键自增
	ps.setString(2, m.name);
	int re = 0;
	try {
		// 此处若使用execute,会返回false,但插入成功
		// false代表第一个执行结果的返回值不是resultset
		re = ps.executeUpdate();
		System.out.println(re);
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return re;
}
public static int deleteJDBC(int i) throws SQLException {
	Connection c = DBUtil.GetConnection();
	String sql = "delete from jdbc where id=?";
	PreparedStatement ps = (PreparedStatement) c.prepareStatement(sql);
	ps.setLong(1, i);
	int re = 0;
	try {
		// 此处若使用execute,会返回false,但插入成功
		// false代表第一个执行结果的返回值不是resultset
		re = ps.executeUpdate();
		System.out.println(re);
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return re;
}
public static int updateJDBC(JDBCModel m) throws SQLException {
	Connection c = DBUtil.GetConnection();
	String sql = "update jdbc set name=? where id=?";
	PreparedStatement ps = (PreparedStatement) c.prepareStatement(sql);
	ps.setString(1, m.name);
	ps.setLong(2, m.id);
	int re = 0;
	try {
		re = ps.executeUpdate();
		System.out.println(re);
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return re;
}
public static List<JDBCModel> queryJDBC() throws SQLException {
	List<JDBCModel> ml = new ArrayList<JDBCModel>();
	Connection c = DBUtil.GetConnection();
	String sql = "select * from jdbc  ";
	PreparedStatement ps = (PreparedStatement) c.prepareStatement(sql);
	ResultSet re = null;
	try {
		re = ps.executeQuery();
	} catch (SQLException e) {
		e.printStackTrace();
	}
	if (re != null) {
		while (re.next()) {
			JDBCModel m = new JDBCModel();
			m.setId(re.getInt("id"));
			m.setName(re.getString("name"));
			m.setCreatetime(re.getDate("createtime"));
			ml.add(m);
		}
	}
	return ml;
}
}JavaJDBC【三、增删改查】的更多相关文章
- 三分钟小课堂-----------------docker(三)增删改查命令
		主要为docker容器的增删改查命令 1 创建容器: docker run -it --name 别名 image_name /bin/bash --name 别名 -d 后台 -t ... 
- HBase命令(三) -- 增删改查
		新增 //语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp> //新增或 ... 
- MongoDB  ---  02. 基本操作,增删改查,数据类型,比较符,高级用法,pymongo
		一.基本操作 . mongod 启动服务端 2. mongo 启动客户端 3. show databses 查看本地磁盘的数据库 4. use 库名 切换到要使用的数据库 5. db 查看当前使用的数 ... 
- JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查
		前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控件的取值和赋值,远远没有将MVVM的精妙展现出来.最近项目打 ... 
- Mysql学习笔记(三)对表数据的增删改查。
		正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ... 
- GZFramwork数据库层《三》普通主从表增删改查
		运行结果: 使用代码生成器(GZCodeGenerate)生成tb_Cusomer和tb_CusomerDetail的Model 生成器源代码下载地址: https://github.com/Gars ... 
- SQL Server学习之路(三):“增删改查”之“增”
		0.目录 1.前言 2.通过SSMS添加数据 3.通过SQL语句添加数据 3.1 添加单条数据 3.2 添加多条数据 4.通过其他表导入数据 4.1 通过数据库中的其他表导入数据 4.2 通过exce ... 
- Java通过JDBC连接数据库的三种方式!!!并对数据库实现增删改查
		前言 java连接数据库完整流程为: 1,获得驱动(driver),数据库连接(url),用户名(username),密码(password)基本信息的三种方式. 2,通过获得的信息完成JDBC实现连 ... 
- python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)
		python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ... 
随机推荐
- 小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战
			笔记 4.高级篇幅之服务间调用之负载均衡策略调整实战 简介:实战调整默认负载均衡策略实战 自定义负载均衡策略:http://cloud.spring.io/spring-cloud-stati ... 
- unix进程间通信方式(下)-unix域套接字(转)
			在之前的博客中已经总结了其它7种进程间的通信方式.unix域套接字用于在同一台计算机上的进程间通信,虽然因特网域套接字可用于同一目的,但是unix域套接字的效率更高.unix域套接字并不进行协议处理, ... 
- EM算法:入门案例
			概率分布 4种实验结果 \(E_1\) \(E_2\) \(E_3\) \(E_4\) 记录它们发生的次数 \(y_1\) \(y_2\) \(y_3\) \(y_4\) 记录次数结果 125 18 ... 
- charles修改响应体
			一.修改响应体(只要勾选了主导航Tools--rewrite之后,则请求会一直被修改) 目的:需要测试数据为空,为纯英文,纯数字等多种情况,为了不麻烦后端的技术人员一支来配置,那么咱们就可以改造数据啦 ... 
- 2.React 生命周期函数
			什么是生命周期函数:在某一时刻组件会自动调用执行的函数. import React,{ Component,Fragment } from 'react' class Note extends Com ... 
- 深入理解C语言-深入理解指针
			关于指针,其是C语言的重点,C语言学的好坏,其实就是指针学的好坏.其实指针并不复杂,学习指针,要正确的理解指针. 指针是一种数据类型 指针也是一种变量,占有内存空间,用来保存内存地址 指针就是告诉编译 ... 
- MySQL_数据表命令
			目录 数据表操作 1.创建数据表: 2. 修改表结构: 数据表查看 1.查看数据库中所有表的信息 2.查看表结构 3.查看创建表时所输入的命令 4.删除数据表 数据表操作 关于Mysql的数据类型,点 ... 
- Oracle- 数据库知识回顾
			数据库知识回顾: sql语句的语法规范: sql语句不区分大小写,习惯上系统的保留字.关键字.函数名称大写,表名和列名小写 使用空格和换行分隔单词效果一样,一般情况下独立的整句不换行,不同的子句需要换 ... 
- Ubuntu 下几种软件安装的方法小结
			1.tar.gz软件包的安装 1)解压tar.gz包 .tar.gz -C /home/Desktop # 将软件包名.tar.gz解压到指定的目录下 2)进入解压后的文件目录下 执行“./ ... 
- PHP给图片添加文字水印实例
			PHP给图片添加文字水印实例,支持中文文字水印,是否覆盖原图,自定义设置水印背景色.文字颜色.字体等. 水印类water.class.php var $Path = "./"; / ... 
