热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

java简单的MySQL数据库连接增删改查_MySQL

java简单的MySQL数据库连接增删改查
1. 连接数据库,得到数据库连接变量

[java] view plaincopyprint?

  1. //注意,这是连接mysql的方法

注意连接数据库的时候

(1)打开DB Browser 新建一个Database Driver,注意添加Driver JARs的时候添加的包,我的是mysql-connector-java-5.0.3-bin.jar

(2)要将数据库jar包拷贝到工程下的WEB-INF\lib下

[java] view plaincopyprint?

  1. import java.sql.Connection;//java包
  2. public class DBConnection
  3. {
  4. private String dbDriver="com.mysql.jdbc.Driver";
  5. private String dbUrl="jdbc:mysql://[ip地址]:[端口号]/[数据库名]";//根据实际情况变化
  6. private String dbUser="root";
  7. private String dbPass="root";
  8. public Connection getConn()
  9. {
  10. Connection cOnn=null;
  11. try
  12. {
  13. Class.forName(dbDriver);
  14. }
  15. catch (ClassNotFoundException e)
  16. {
  17. e.printStackTrace();
  18. }
  19. try
  20. {
  21. cOnn= DriverManager.getConnection(dbUrl,dbUser,dbPass);//注意是三个参数
  22. }
  23. catch (SQLException e)
  24. {
  25. e.printStackTrace();
  26. }
  27. return conn;
  28. }
  29. }


2. 插入操作

[java] view plaincopyprint?

  1. public int insert()
  2. {
  3. int i=0;
  4. String sql="insert into (表名)(列名1,列明2) values(?,?)";
  5. Connection cnn=getConn();
  6. try{
  7. PreparedStatement preStmt =cnn.prepareStement(sql);
  8. preStmt.setString(1,值);
  9. preStmt.setString(2,值);//或者:preStmt.setInt(1,值);
  10. i=preStmt.executeUpdate();
  11. }
  12. catch (SQLException e)
  13. {
  14. e.printStackTrace();
  15. }
  16. return i;//返回影响的行数,1为执行成功
  17. }

3. 更新操作

[java] view plaincopyprint?

  1. public int update
  2. {
  3. int i=0;
  4. String sql="update (表名) set (列名1)=?,列明2=? where (列名)=?";//注意要有where条件
  5. Connection cnn=getConn();
  6. try{
  7. PreparedStatement preStmt =cnn.prepareStatement(sql);
  8. preStmt.setString(1,(值));
  9. preStmt.setString(2,(值));//或者:preStmt.setInt(1,值);
  10. preStmt.setInt(3,(值));
  11. i=preStmt.executeUpdate();
  12. }
  13. catch (SQLException e)
  14. {
  15. e.printStackTrace();
  16. }
  17. return i;//返回影响的行数,1为执行成功
  18. }




4. 查找操作

[java] view plaincopyprint?

  1. public String select
  2. {
  3. String sql = "select * from (表名) where (列名)=(值)";
  4. Connection cnn = getConn();//此处为通过自己写的方法getConn()获得连接
  5. try
  6. {
  7. Statement stmt = conn.createStatement();
  8. ResultSet rs = stmt.executeQuery(sql);
  9. if(rs.next())
  10. {
  11. int m1 = rs.getInt(1);//或者为rs.getString(1),根据数据库中列的值类型确定,参数为第一列
  12. String m2 = rs.getString(2);
  13. }
  14. //可以将查找到的值写入类,然后返回相应的对象
  15. }
  16. catch (SQLException e)
  17. {
  18. e.printStackTrace();
  19. }
  20. return (相应的值的变量);
  21. }


5. 删除操作

[java] view plaincopyprint?

  1. public int delete()
  2. {
  3. String sql = "delete from (表名) where (列名)=(值)";
  4. int i=0;
  5. Connection cOnn= getConn();//此处为通过自己写的方法getConn()获得连接
  6. try
  7. {
  8. Statement stmt = conn.createStatement();
  9. i = stmt.executeUpdate(sql);
  10. }
  11. catch (SQLException e)
  12. {
  13. e.printStackTrace();
  14. }
  15. return i;//如果返回的是1,则执行成功;
  16. }

推荐阅读
  • 本文详细解析了MySQL中的多表联合查询技术,涵盖了内连接、外连接和交叉连接三种主要类型。通过具体示例,深入探讨了每种连接方式的使用场景和实现方法,帮助读者全面掌握SQL查询技巧,提升数据处理能力。 ... [详细]
  • 在数据库事务处理中,InnoDB 存储引擎提供了多种隔离级别,其中 READ COMMITTED 和 REPEATABLE READ 是两个常用的选项。本文详细对比了这两种隔离级别的特点和差异,不仅从理论角度分析了它们对“脏读”和“幻读”的处理方式,还结合实际应用场景探讨了它们在并发控制和性能表现上的不同。特别关注了行锁机制在不同隔离级别下的行为,为开发者选择合适的隔离级别提供了参考。 ... [详细]
  • 开发日志:在插入数据到一张表的同时更新另一张表的技术细节与最佳实践 ... [详细]
  • 本文深入探讨了 MySQL 中 `ANALYZE TABLE` 和 `SHOW CREATE TABLE` 的语法规则及其应用。`ANALYZE TABLE` 语句用于分析并存储表的关键字分布情况,以优化查询性能。该操作在执行过程中会获取表的读锁,确保数据的一致性。而 `SHOW CREATE TABLE` 则用于显示创建表时的详细语句,包括表结构、索引和存储引擎等信息,有助于数据库管理和维护。通过这些命令,DBA 可以更好地理解和优化数据库性能。 ... [详细]
  • MySQL 数据备份与恢复的常见方法及其实践经验总结。物理备份涉及直接复制数据库文件,适用于大规模数据库环境,但无法在异构系统(如 Windows)中恢复。逻辑备份则侧重于导出建表语句和数据插入语句,便于跨平台迁移和部分数据恢复。此外,本文还探讨了增量备份、全量备份以及使用工具如 mysqldump 和 Percona XtraBackup 的具体应用场景和优缺点。 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • MySQL 数据变更后如何实现实时同步至 Elasticsearch
    在 MySQL 数据变更后,如何实现与 Elasticsearch 的实时同步是一个常见的需求。本文介绍了通过配置 MySQL 的 Binlog 功能,结合中间件如 Canal 或 Debezium,将数据变更事件实时捕获并同步到 Elasticsearch 中的方法。此外,还探讨了如何处理数据删除操作,确保 Elasticsearch 中的数据与 MySQL 保持一致。文章还简要对比了 VSCode 和 Dev 两种开发环境的优缺点,为开发者提供参考。 ... [详细]
  • 在数据表中,我需要触发一个操作来刷新特定列的数据。例如,对于以下表格:| ID | Name | IsDeleted ||----|-------|-----------|| 1 | test | True || 2 | test2 | False |我希望在点击“更新”按钮时,能够仅刷新选定行的“IsDeleted”列。这将有助于确保数据的实时性和准确性。 ... [详细]
  • 在使用PFC进行数据处理时,遇到了数据列消失的问题。具体表现为,在数据窗口dw_1中,原本点击排序按钮cb_1后,会弹出一个排序窗口并显示所有字段。然而,目前点击排序按钮时,数据列却无法正常显示。为了解决这一问题,需要检查数据源的配置和按钮事件的触发逻辑,确保数据列能够正确加载和显示。 ... [详细]
  • 在近期的项目开发过程中,ORM层采用了MyBatis,并且需要连接多个数据库,这带来了多数据源配置的挑战。为了解决这一问题,我们可以通过巧妙运用注解来实现优雅的数据源切换,确保系统的灵活性和可维护性。这种方法不仅简化了配置,还提高了代码的可读性和扩展性。 ... [详细]
  • 如何正确获取Oracle TNS_ADMIN环境变量的值
    如何正确获取Oracle TNS_ADMIN环境变量的值?TNS_ADMIN 是 Oracle 客户端配置中的一个重要环境变量,用于指定网络配置文件(如 tnsnames.ora)的路径。本文将详细介绍如何在不同操作系统中准确获取该变量的值,并提供实用的命令和步骤,帮助用户确保 Oracle 客户端的网络连接配置正确无误。 ... [详细]
  • 如何在Android设备上通过应用程序创建浏览器书签 ... [详细]
  • 本文深入探讨了 DB2 SQL 中多列更新语句的应用与技巧,通过具体示例详细介绍了多列更新的语法和实际操作方法。例如,使用以下语法可以同时更新多个字段:```sqlUPDATE T_TableSET (字段A, 字段B) = (value_a, value_b);```文章还进一步分析了多列更新在性能优化和数据一致性方面的优势,并提供了实用的案例和最佳实践。 ... [详细]
  • 在数据库设计中,谨慎使用外键至关重要。本文探讨了九个关键原因,包括数据完整性的维护、性能优化、系统复杂性的管理、数据迁移的灵活性以及对外部系统的依赖性控制。通过深入分析这些因素,可以帮助开发人员和架构师做出更明智的设计决策,确保数据库系统的高效与稳定。 ... [详细]
  • InnoDB当前仅支持一次创建一个FULLTEXT索引 ... [详细]
author-avatar
waiwaiwai
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有