当前位置: 首页 > news >正文

JDBC 通过PreparedStatement 对数据库进行增删改查

1 插入数据

复制代码
public boolean ChaRu3(User user){
boolean flag=true;
Connection conn=null;
PreparedStatement ps=null; //创建PreparedStatement 对象
String sql= "insert into user (name,pwd) values(?,?)"; //sql语句不再采用拼接方式,应用占位符问号的方式写sql语句。
conn=DBConnUtil.getConn();
try {
ps=conn.prepareStatement(sql);
ps.setString(1, user.getName()); //对占位符设置值,占位符顺序从1开始,第一个参数是占位符的位置,第二个参数是占位符的值。
ps.setString(2, user.getPwd());
int i=ps.executeUpdate();
if(i==0){
flag=false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBConnUtil.closeAll(null, ps, conn);
}
return flag;

}
复制代码

 

2 修改数据

 

复制代码
public boolean XiuGai3(User user){
boolean flag=true;
Connection conn=null;
PreparedStatement ps=null;
String sql="update user set pwd=? where name=?";
conn=DBConnUtil.getConn();
try {
ps=conn.prepareStatement(sql);
ps.setString(1, user.getPwd());
ps.setString(2, user.getName());
int i= ps.executeUpdate();
if(i==0){
flag=false;
}

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBConnUtil.closeAll(null, ps, conn);
}
return flag;
}
复制代码

 

3 删除数据

复制代码
public boolean ShanChu3(int id){
boolean flag=true;
Connection conn=null;
PreparedStatement ps=null;
String sql="delete from user where id=?";
conn=DBConnUtil.getConn();
try {
ps=conn.prepareStatement(sql);
ps.setInt(1, id);
int i=ps.executeUpdate();
if(i==0){
flag=false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBConnUtil.closeAll(null, ps, conn);
}

return flag;
}
复制代码

 

4 查看数据

复制代码
public List<User> ChaKan3(){
List<User> list= new ArrayList<User>();
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs=null;
String sql="select * from user";
conn=DBConnUtil.getConn();
try {
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
User user= new User();
user.setName(rs.getString("name"));
list.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
DBConnUtil.closeAll(rs, ps, conn);
}

return list;
}
复制代码

 

转自:http://www.cnblogs.com/zilong882008/archive/2011/11/13/2247065.html

 

相关文章:

  • JPA常用注解
  • php的插入排序,通过双层for循环
  • 我的Git忽略文件
  • SCSS(SASS、CSS)学习
  • Cenos7下nginx+mysql+php环境的搭建
  • Linux实用工具
  • 李洪强经典面试题42
  • Spring3 MVC详解
  • 2:jquery.cookie用法详细解析
  • 新浪微博客户端(21)-获取当前微博未读数并提示用户
  • Distributed Configuration Management Platform(分布式配置管理平台)
  • centos系统的时间时区和MySQL的时间时区问题
  • java架构师之路:推荐的15本书
  • 学习python cgi的一点心得体会
  • Linux用户管理 (3)
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • JavaScript-如何实现克隆(clone)函数
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • [LeetCode] Wiggle Sort
  • [NodeJS] 关于Buffer
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • Create React App 使用
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • flask接收请求并推入栈
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • jquery cookie
  • leetcode讲解--894. All Possible Full Binary Trees
  • Object.assign方法不能实现深复制
  • react 代码优化(一) ——事件处理
  • Redux系列x:源码分析
  • tab.js分享及浏览器兼容性问题汇总
  • Tornado学习笔记(1)
  • 阿里云应用高可用服务公测发布
  • 驱动程序原理
  • 深入浏览器事件循环的本质
  • 使用docker-compose进行多节点部署
  • 在Unity中实现一个简单的消息管理器
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​渐进式Web应用PWA的未来
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #mysql 8.0 踩坑日记
  • (10)ATF MMU转换表
  • (12)Hive调优——count distinct去重优化
  • (2)STL算法之元素计数
  • (70min)字节暑假实习二面(已挂)
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (javascript)再说document.body.scrollTop的使用问题
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (九)One-Wire总线-DS18B20
  • (转)http协议
  • (转)菜鸟学数据库(三)——存储过程
  • .htaccess 强制https 单独排除某个目录
  • .naturalWidth 和naturalHeight属性,