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

  • 语句生成:

    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. Pro JavaScript List.11-11

    //为实现各种现代浏览器的requestAnimationFrame()方法,创建一段简单的跨浏览器保障代码(polyfill),以实现流畅.高效的动画.由保罗•艾里什(Paul Irish)编写,网 ...

  2. php版本:实现过滤掉广告、色情、政治相关的敏感词

    现在网络上还是很乱,尤其充斥着各种广告.色情.政治相关的内容,很明显这是不符合我们国家的法律的,所以为了一个产品能够健康长久的活下去,最好还是采用一定的策略过滤或者提醒用户不要发这种内容.不过说起来容 ...

  3. 部署Hadoop-3.0-高性能集群

    一.Hadoop概述: Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop的框 ...

  4. HBase管理与监控——HBase region is not online

    发现有些regison程序操作失败,其他region 都是正常的,重启regionserver 后依然报同样的错误. 首先进入hbase的bin目录,执行下面命令检查表是否有存储一致性问题: hbas ...

  5. React Native创建项目等待时间长解决

    1. 初始化工程 在终端输入命令 :react-native init AwesomeProject 从命令上看,看起来是初始化一个工程,于是, 1分钟...... 10分钟...... 1小时... ...

  6. TensorFlow2.0(12):模型保存与序列化

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  7. IntelliJ IDEA入门之常用配置以及问题解决(持续更新中)

    软件版本: IntelliJ IDEA 2019.1.1(Ultimate Edition) 运行环境: JDK1.8, Tomcat8.0, Maven3.6 我们在学习新的无论是jar包, 框架, ...

  8. 【FFMPEG】基于RTP的H264视频数据打包解包类

    最近考虑使用RTP替换原有的高清视频传输协议,遂上网查找有关H264视频RTP打包.解包的文档和代码.功夫不负有心人,找到不少有价值的文档和代码.参考这些资料,写了H264 RTP打包类.解包类,实现 ...

  9. centos7清楚journal日志

    1.只保留1天的日志 journalctl --vacuum-time=1d 参考:https://blog.csdn.net/ithomer/article/details/90634579

  10. 通过SublimeCodeIntel设置JavaScript自动补全

    1.首先安装SublimeCodeIntel包. 进入sublime,通过Ctrl+Shift+P进入包管理,输入pci(首字母),选择Package Contrl:Intall Package,如图 ...