获取数据库连接后,可进行增删改查操作

  • 语句生成:

    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【三、增删改查】的更多相关文章

  1. 三分钟小课堂-----------------docker(三)增删改查命令

    主要为docker容器的增删改查命令 1  创建容器: docker run   -it   --name 别名  image_name   /bin/bash --name 别名 -d 后台 -t ...

  2. HBase命令(三) -- 增删改查

    新增 //语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp> //新增或 ...

  3. MongoDB --- 02. 基本操作,增删改查,数据类型,比较符,高级用法,pymongo

    一.基本操作 . mongod 启动服务端 2. mongo 启动客户端 3. show databses 查看本地磁盘的数据库 4. use 库名 切换到要使用的数据库 5. db 查看当前使用的数 ...

  4. JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(三):两个Viewmodel搞定增删改查

    前言:之前博主分享过knockoutJS和BootstrapTable的一些基础用法,都是写基础应用,根本谈不上封装,仅仅是避免了html控件的取值和赋值,远远没有将MVVM的精妙展现出来.最近项目打 ...

  5. Mysql学习笔记(三)对表数据的增删改查。

    正文内容. 这一部分是最简单的,也是最麻烦的.简单是因为其实只包括增删该插四个部分.大体上看,增加数据.删除数据.修改数据.查询数据都不麻烦啊,我们日常都是常用的.这个谁不会呢?以前在培训机构学mys ...

  6. GZFramwork数据库层《三》普通主从表增删改查

    运行结果: 使用代码生成器(GZCodeGenerate)生成tb_Cusomer和tb_CusomerDetail的Model 生成器源代码下载地址: https://github.com/Gars ...

  7. SQL Server学习之路(三):“增删改查”之“增”

    0.目录 1.前言 2.通过SSMS添加数据 3.通过SQL语句添加数据 3.1 添加单条数据 3.2 添加多条数据 4.通过其他表导入数据 4.1 通过数据库中的其他表导入数据 4.2 通过exce ...

  8. Java通过JDBC连接数据库的三种方式!!!并对数据库实现增删改查

    前言 java连接数据库完整流程为: 1,获得驱动(driver),数据库连接(url),用户名(username),密码(password)基本信息的三种方式. 2,通过获得的信息完成JDBC实现连 ...

  9. python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)

    python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...

随机推荐

  1. 006-top查看计算机信息

    1.使用top命令基本信息 us:用户态使用的cpu时间比sy:系统态使用的cpu时间比ni:用做nice加权的进程分配的用户态cpu时间比id:空闲的cpu时间比wa:cpu等待磁盘写入完成时间hi ...

  2. SSM项目模板

    项目一:恒德物流平台(SSM) ◎开发周期:3个月                           开发模式:团队4个人 ◎开发环境:jdk1.8.tomcat8.5       开发工具:IDE ...

  3. 双系统删除Linux系统

    1.首先解决Linux的grub引导问题.电脑先安装了Windows10,然后又安装了Linux,grub直接覆盖了Windows的引导, 所以每次开机都是进入了Linux的grub引导,现在我们需要 ...

  4. centos超详细搭建jumpserver跳板机

    一.官网 https://docs.jumpserver.org/zh/master/  二.一站式.分布式安装文档  三.选择最新版 四.在线安装文档 五.按文档部署(4G.二核.50G硬盘)  六 ...

  5. 【miscellaneous】多播(组播)原理分析

    为什么要使用多播:        网卡从网络上接收到目标物理地址对应的所有bit位都为1的数据报时,会收到这条消息并将其上传给驱动程序,网卡的这种工作模式称为广播模式,网卡的缺省工作模式包含直接模式和 ...

  6. JavaScript控制输入框只能输入中文,英文和数字的组合,其他字符不能输入的校验

    if(!/^[A-Za-z0-9\u4e00-\u9fa5]+/.test(value)){ alert('不能输入非法字符') }

  7. 强大的strace命令用法详解

    文章转自: https://www.linuxidc.com/Linux/2018-01/150654.htm strace是什么? 按照strace官网的描述, strace是一个可用于诊断.调试和 ...

  8. shell中防止意外发生的两个实用的设置

    set -o nounset set -o errexit set -o nounset 在默认情况下,遇到不存在的变量,会忽略并继续执行,而这往往不符合预期,加入该选项,可以避免恶果扩大,终止脚本的 ...

  9. 线程的同步控制synchronized和lock的对比和区别

     转载. https://blog.csdn.net/wu1226419614/article/details/73740899 我们在面试的时候,时常被问到如何保证线程同步已经对共享资源的多线程编程 ...

  10. thinkPHP连接数据库报错:PDOException in Connection.php line 295

    跑去网上找了N多方法来尝试,重装apache.mysql.安装集成软件都试过了.错误一样. 后来细细分析,PDOException in Connection指的不就是PDO异常吗? 然后去了解了一些 ...