面向对象编程的结束课程设要求使用java连接mysql,实现增删减查等基本操作,希望尽量的简单,求各位学长学姐用过的代码和文档等,可以有偿,急。
2条回答 默认 最新
关注 - 你可以看下这个问题的回答https://ask.csdn.net/questions/156645
- 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:JAVA与mysql连接,实现从一个数据库中读取指定字段内容,自增的放入另一个数据库中
- 除此之外, 这篇博客: java操作mysql数据库的基本步骤中的 java操作mysql数据库的基本使用 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
第一步:
通过反射加载驱动:
Class.forName("com.mysql.cj.jdbc.Driver");
这时需要处理ClassNotFoundException
加载mysql数据库驱动:(向下兼容)
- mysql5:com.mysql.jdbc.Driver
- mysql8:com.mysql.cj.jdbc.Driver
第二步:
设置连接的URL信息:
- useUnicode=true:可以显示中文
- characterEncoding=utf8:设置编码为utf-8
- useSSL=true:使用安全连接
- serverTimezone=Asia/Shanghai:设置mysql的时区,mysql8默认时区是美国
第三步:
创建连接对象:
Connection conn = DriverManager.getConnection(url, username, password);
这时有可能会产生SQLException,需要抛出或捕获
第四步:
创建执行SQL语句的对象(Statement/preparedStatement)
Statement:发送完整的SQL语句到数据库,不是直接执行,而是由数据库先编译,再运行
preparedStatement:可以使用占位符,是预编译的,他发送的是可以直接运行的SQL语句到数据库,数据库不需要编译,批处理比Statement效率高
preparedStatement:
String sql = "insert into user values (?,?,?,?)"; PreparedStatement ps = conn.prepareStatement(sql);
Statement:
String sql = "insert into `user` values (8,'mc',20,'442261507@qq.com')"; Statement s = conn.createStatement();
第五步:
preparedStatement:
设置预编译的参数:
ps.setInt(1,6); ps.setString(2,"马"); ps.setInt(3,21); ps.setString(4,"442261578@qq.com"); int update = ps.executeUpdate(sql); System.out.println(update); //插入成功,返回 1
这时需要注意传入的数据类型,第一个参数的意思是插入的是第几个占位符(从1开始数),第二个参数就是要插入的数据
Statement:
int update = s.executeUpdate(sql); System.out.println(update); //插入成功,返回 1
第六步:
依次关闭开启的资源
ps.close(); conn.close();
完整的示例如下:
//加载数据库驱动 try { Class.forName("com.mysql.cj.jdbc.Driver"); //设置连接URL String url = "jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai"; String username = "root"; String password = "mc123"; //创建连接 try { Connection conn = DriverManager.getConnection(url, username, password); //创建执行SQL语句的对象(statement/preparedStatement) String sql = "insert into user values (?,?,?,?)"; PreparedStatement ps = conn.prepareStatement(sql); //设置参数(注意数据类型) ps.setInt(1,6); ps.setString(2,"马聪"); ps.setInt(3,21); ps.setString(4,"442261507@qq.com"); //执行插入操作 int update = ps.executeUpdate(); System.out.println(update); //插入成功,返回 1 //关闭开启的资源 ps.close(); conn.close(); } catch (SQLException e) { System.out.println("创建连接失败!"); e.printStackTrace(); } } catch (ClassNotFoundException e) { System.out.println("加载不到数据库驱动!"); e.printStackTrace(); }
- 您还可以看一下 邱石老师的java后台+微信小程序 实现完整的点餐系统课程中的 链接mysql数据库及问题解决小节, 巩固相关知识点
解决 无用评论 打赏 举报
悬赏问题
- ¥15 用pytorch实现PPO算法
- ¥15 关于调制信号的星座图?
- ¥30 前端传参时,后端接收不到参数
- ¥15 这是有什么问题吗,我检查许可证了但是显示有呢
- ¥15 机器学习预测遇到的目标函数问题
- ¥15 python的EOFError该怎么解决?
- ¥15 Fluent,液体进入旋转区域体积分数不连续
- ¥15 java linux下将docx文件转pdf
- ¥15 maven无法下载依赖包
- ¥15 关于pycharm, Callable[[str],bool]作为方法参数使用时, lambda 类型不提示问题