
5.CRUD操作
发布日期:2021-05-06 18:58:18
浏览次数:27
分类:精选文章
本文共 3271 字,大约阅读时间需要 10 分钟。
1.增加
package cn.edu.hbue.wmp;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class GeneralJDBCInsert { public static void main(String args[]){ Student stu = new Student(14,"小汤","18462@edu","2000-4-1"); String sql = "insert into student values(?,?,?,?)"; isnert(sql,stu); } public static void isnert(String sql,Student stu){ //插入一条学生记录 PreparedStatement ps = null; Connection connection = null; //1.获取连接 connection = JDBCUtil.getConn(); try { //2.预编译sql ps = connection.prepareStatement(sql); //3.填充占位符 ps.setInt(1, stu.getId()); ps.setString(2, stu.getName()); ps.setString(3, stu.getEmail()); ps.setString(4, stu.getBirth()); //4.执行操作 ps.execute(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //5.关闭资源 JDBCUtil.closeConn(ps, connection); } }}
2.删除
package cn.edu.hbue.wmp;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class GeneralJDBCUpdate { public static void main(String[] args) { // TODO Auto-generated method stub String sql = "delete from student where id = ?"; update(sql,11); } //要传入sql语句和不确定的占位符 public static void update(String sql,Object ... args){ Connection connection = null; PreparedStatement ps = null; //1.获取连接 connection = JDBCUtil.getConn(); try { //2.预编译sql语句 ps = connection.prepareStatement(sql); //3.填充占位符 for(int i = 0;i < args.length;i++){ ps.setObject(i + 1, args[i]); } //4.执行sql语句 ps.execute(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ //5.关闭资源 JDBCUtil.closeConn(ps,connection); } }}
3.修改
package cn.edu.hbue.wmp;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;public class GeneralJDBCAlter { public static void main(String[] args) { // TODO Auto-generated method stub String sql = "update student set name = ? where id = ?"; alter(sql,"汤汤",14); } public static void alter(String sql,Object...args) { PreparedStatement ps = null; Connection connection = null; //1.获取连接 connection = JDBCUtil.getConn(); try { //2.预编译sql语句 ps = connection.prepareStatement(sql); //3.填充占位符 for(int i = 0;i
4.查询(最难)
在查询中如果数据库字段名和java类中属性名不一致,就在sql语句中起别名,然后在后面操作中 // 不获取列名获取列别名,不用rsmd.getColumnName(i+1)(获取列名) String columnName = rsmd.getColumnLabel(i + 1); // 最好不管有没有不同都用这个
package cn.edu.hbue.wmp;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import com.mysql.cj.jdbc.result.ResultSetMetaData;import com.mysql.cj.result.Field;public class GeneralJDBCQuery { public static void main(String[] args) { String sql = "select id,name,email from student where id = ?"; Student stu = query(sql,12); System.out.println(stu); } public static Student query(String sql,Object...args){ Connection connection = null; ResultSet rs = null; PreparedStatement ps = null; //1获取连接 connection = JDBCUtil.getConn(); try { //2预编译SQL语句 ps = connection.prepareStatement(sql); // 3.填充占位符 for(int i = 0;i
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月09日 23时41分04秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Vue路由嵌套刷新后页面没有重新渲染
2021-05-08
Vue使用bus进行组件间、父子路由间通信
2021-05-08
数据库三个级别封锁协议
2021-05-08
类的实例
2021-05-08
tomcat加载部署webapps目录下的项目
2021-05-08
ACM/NCPC2016 C Card Hand Sorting(upc 3028)
2021-05-08
方法重写
2021-05-08
Threading Programming Guide(多线程编程指南)
2021-05-08
Java求逆波兰表达式的结果(栈)
2021-05-08
SDWebImage--http图片加载不出来的问题
2021-05-08
Application received signal SIGSEGV
2021-05-08
MySQL删除数据库时的错误(errno: 39)
2021-05-08
ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
2021-05-08
SLAM学习笔记-求解视觉SLAM问题
2021-05-08
普歌-允异团队-HashMap面试题
2021-05-08
还在一个一个手动安装虚拟机吗?Cobbler自动部署装机一键最小化安装打把游戏就好了
2021-05-08
程序员应该知道的97件事
2021-05-08
我编程,我快乐—程序员职业规划之道
2021-05-08
create-react-app路由的实现原理
2021-05-08
PSI值
2021-05-08