使用 JDBC 保存对象并返回自动生成的主键
JDBC 保存对象返回主键 JDBC(Java Database Connectivity)是 Java 语言中用来连接数据库的 API。它提供了一个通用的接口来访问各种类型的关系数据库。下面我们将对 JDBC 保存对象返回主键的知识点进行详细的讲解。 **JDBC 保存对象** 在 JDBC 中,保存对象是指将 Java 对象保存到数据库中。这种操作通常是通过执行 INSERT 语句来实现的。在上面的代码中,我们可以看到一个保存 MessageText 对象的示例代码。 **返回主键** 在 JDBC 中,返回主键是指在执行 INSERT 语句时,数据库会自动生成一个唯一的主键,并将其返回给 Java 应用程序。在上面的代码中,我们可以看到一个使用 KeyHolder 对象来获取插入数据的主键的示例代码。 **KeyHolder** KeyHolder 是 JDBC 中的一个接口,用于获取插入数据的主键。它提供了一个 getKey() 方法,用于获取插入数据的主键。在上面的代码中,我们可以看到一个使用 KeyHolder 对象来获取插入数据的主键的示例代码。 **GeneratedKeyHolder** GeneratedKeyHolder 是 KeyHolder 的一个实现类,它提供了一个 getKey() 方法,用于获取插入数据的主键。在上面的代码中,我们可以看到一个使用 GeneratedKeyHolder 对象来获取插入数据的主键的示例代码。 **PreparedStatement** PreparedStatement 是 JDBC 中的一个接口,用于执行参数化的 SQL 语句。在上面的代码中,我们可以看到一个使用 PreparedStatement 对象来执行 INSERT 语句的示例代码。 **Parameterized Query** Parameterized Query 是一种使用占位符来表示参数的 SQL 语句。在上面的代码中,我们可以看到一个使用 Parameterized Query 的示例代码。 **SQL 语句** SQL 语句是用于操作数据库的命令。在上面的代码中,我们可以看到一个使用 INSERT 语句来将数据插入到数据库中的示例代码。 **JdbcTemplate** JdbcTemplate 是 Spring 框架中的一部分,用于简化 JDBC 操作。在上面的代码中,我们可以看到一个使用 JdbcTemplate 对象来执行 INSERT 语句的示例代码。 **jdbcHandler** jdbcHandler 是一个自定义的对象,用于封装 JDBC 操作。在上面的代码中,我们可以看到一个使用 jdbcHandler 对象来执行 INSERT 语句的示例代码。 **Save Message Text** Save Message Text 是一个保存 MessageText 对象到数据库中的方法。在上面的代码中,我们可以看到一个使用 Save Message Text 方法的示例代码。 JDBC 保存对象返回主键是指使用 JDBC 将 Java 对象保存到数据库中,并返回插入数据的主键。这种操作通常是通过执行 INSERT 语句来实现的,并且可以使用 KeyHolder 对象来获取插入数据的主键。
public long saveMessageText(MessageText messageText) throws SQLException {
// TODO Auto-generated method stub
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date time = messageText.getTime();
final String time1 = sdf.format(time);
final String sql="insert into tb_message_text (id,content,time) values(null,?,?)";
final String mess=messageText.getContent().toString();
KeyHolder keyHolder=new GeneratedKeyHolder();
jdbcHandler.getJdbcTemplate().update(new PreparedStatementCreator() {
@Override
public PreparedStatement createPreparedStatement(Connection con)
throws SQLException {
PreparedStatement ps = con.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
ps.setString(1, mess);
ps.setString(2,time1);
return ps;
}
}, keyHolder);
int intValue = keyHolder.getKey().intValue();
System.out.println(intValue);
return intValue;
}
//保存消息 对象
public long saveMessageText(Message message) {
// TODO Auto-generated method stub
下载后可阅读完整内容,剩余2页未读,立即下载
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++标准程序库:权威指南
- Java解惑:奇数判断误区与改进方法
- C++编程必读:20种设计模式详解与实战
- LM3S8962微控制器数据手册
- 51单片机C语言实战教程:从入门到精通
- Spring3.0权威指南:JavaEE6实战
- Win32多线程程序设计详解
- Lucene2.9.1开发全攻略:从环境配置到索引创建
- 内存虚拟硬盘技术:提升电脑速度的秘密武器
- Java操作数据库:保存与显示图片到数据库及页面
- ISO14001:2004环境管理体系要求详解
- ShopExV4.8二次开发详解
- 企业形象与产品推广一站式网站建设技术方案揭秘
- Shopex二次开发:触发器与控制器重定向技术详解
- FPGA开发实战指南:创新设计与进阶技巧
- ShopExV4.8二次开发入门:解决升级问题与功能扩展