java与MySQL数据库的连接

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL DuckDB 分析主实例,集群系列 8核16GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: java与MySQL数据库的连接1.数据库的安装和建立参见上一篇博客中的第1,2步骤。(http://blog.csdn.net/nuptboyzhb/article/details/8043091) 或使用SQL语句   [sql] view plaincopy   ...
java与MySQL数据库的连接

1.数据库的安装和建立参见上一篇博客中的第1,2步骤。(http://blog.csdn.net/nuptboyzhb/article/details/8043091)

或使用SQL语句

 

[sql]  view plain copy 在CODE上查看代码片 派生到我的代码片
 
  1. # ubuntu Linux  
  2. sudo mysql -u root -p  
  3. #Windows 7(mysql.exe)  
  4.   
  5. create database testdb;  
  6. use testdb;  
  7. CREATE TABLE `name_table` (  
  8.   `_id` int(11) NOT NULL,  
  9.   `name` varchar(32) CHARACTER SET utf8,  
  10.   `age` int(11) NOT NULL,  
  11.   `work` varchar(32) CHARACTER SET utf8,  
  12.   `others` varchar(512) CHARACTER SET utf8 DEFAULT NULL,  
  13.   PRIMARY KEY (`_id`)  
  14. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;  


 

2.Eclipse的配置。

导入包mysql-connector-java-5.0.5-bin.jar


3.java代码的编写

[java code]

 

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
 
  1. /* 
  2.  *@author: ZhengHaibo   
  3.  *web:     blog.csdn.net/nuptboyzhb 
  4.  *mail:    zhb931706659@126.com 
  5.  *2012-10-6  Nanjing njupt 
  6.  */  
  7. import java.sql.Connection;  
  8. import java.sql.DriverManager;  
  9. import java.sql.PreparedStatement;  
  10. import java.sql.ResultSet;  
  11. import java.sql.SQLException;  
  12. public class helloworld {  
  13.     private Connection conn = null;  
  14.     PreparedStatement statement = null;  
  15.     // connect to MySQL  
  16.     void connSQL() {  
  17.         String urle = "jdbc:mysql://localhost:3306/testdb";//port:3306 database:testdb  
  18.         String username = "root";//user  
  19.         String password = "931706659";//password  
  20.         try {   
  21.             Class.forName("com.mysql.jdbc.Driver" );//加载驱动,连接数据库  
  22.             conn = DriverManager.getConnection(urle,username, password );   
  23.             }  
  24.         //捕获加载驱动程序异常  
  25.          catch ( ClassNotFoundException cnfex ) {  
  26.              System.err.println(  
  27.              "装载 JDBC/ODBC 驱动程序失败。" );  
  28.              cnfex.printStackTrace();   
  29.          }   
  30.          //捕获连接数据库异常  
  31.          catch ( SQLException sqlex ) {  
  32.              System.err.println( "无法连接数据库" );  
  33.              sqlex.printStackTrace();  
  34.          }  
  35.     }  
  36.   
  37.     // disconnect to MySQL  
  38.     void deconnSQL() {  
  39.         try {  
  40.             if (conn != null)  
  41.                 conn.close();  
  42.         } catch (Exception e) {  
  43.             System.out.println("关闭数据库问题 :");  
  44.             e.printStackTrace();  
  45.         }  
  46.     }  
  47.   
  48.     // execute selection language  
  49.     ResultSet selectSQL(String sql) {  
  50.         ResultSet rs = null;  
  51.         try {  
  52.             statement = conn.prepareStatement(sql);  
  53.             rs = statement.executeQuery(sql);  
  54.         } catch (SQLException e) {  
  55.             e.printStackTrace();  
  56.         }  
  57.         return rs;  
  58.     }  
  59.   
  60.     // execute insertion language  
  61.     boolean insertSQL(String sql) {  
  62.         try {  
  63.             statement = conn.prepareStatement(sql);  
  64.             statement.executeUpdate();  
  65.             return true;  
  66.         } catch (SQLException e) {  
  67.             System.out.println("插入数据库时出错:");  
  68.             e.printStackTrace();  
  69.         } catch (Exception e) {  
  70.             System.out.println("插入时出错:");  
  71.             e.printStackTrace();  
  72.         }  
  73.         return false;  
  74.     }  
  75.     //execute delete language  
  76.     boolean deleteSQL(String sql) {  
  77.         try {  
  78.             statement = conn.prepareStatement(sql);  
  79.             statement.executeUpdate();  
  80.             return true;  
  81.         } catch (SQLException e) {  
  82.             System.out.println("插入数据库时出错:");  
  83.             e.printStackTrace();  
  84.         } catch (Exception e) {  
  85.             System.out.println("插入时出错:");  
  86.             e.printStackTrace();  
  87.         }  
  88.         return false;  
  89.     }  
  90.     //execute update language  
  91.     boolean updateSQL(String sql) {  
  92.         try {  
  93.             statement = conn.prepareStatement(sql);  
  94.             statement.executeUpdate();  
  95.             return true;  
  96.         } catch (SQLException e) {  
  97.             System.out.println("插入数据库时出错:");  
  98.             e.printStackTrace();  
  99.         } catch (Exception e) {  
  100.             System.out.println("插入时出错:");  
  101.             e.printStackTrace();  
  102.         }  
  103.         return false;  
  104.     }  
  105.     // show data in ju_users  
  106.     void layoutStyle2(ResultSet rs) {  
  107.         System.out.println("-----------------");  
  108.         System.out.println("执行结果如下所示:");  
  109.         System.out.println("-----------------");  
  110.         System.out.println(" id" + "\t\t" + "name" +"\t\t" + "age" + "\t\t" +"work"+ "\t\t" + "others");  
  111.         System.out.println("-----------------");  
  112.         try {  
  113.             while (rs.next()) {  
  114.                 System.out.println(rs.getInt("_id") + "\t\t"  
  115.                         + rs.getString("name") + "\t\t"  
  116.                         +rs.getInt("age") + "\t\t"  
  117.                         + rs.getString("work")+ "\t\t"  
  118.                         + rs.getString("others"));  
  119.             }  
  120.         } catch (SQLException e) {  
  121.             System.out.println("显示时数据库出错。");  
  122.             e.printStackTrace();  
  123.         } catch (Exception e) {  
  124.             System.out.println("显示出错。");  
  125.             e.printStackTrace();  
  126.         }  
  127.     }  
  128.   
  129.     public static void main(String args[]) {  
  130.   
  131.         helloworld h = new helloworld();  
  132.         h.connSQL();  
  133.         String s = "select * from name_table";  
  134.   
  135.         String insert = "insert into name_table(_id,name,age,work,others) values("+15+",'csdn',"+24+",'M.S.','nupt')";  
  136.         String update = "update name_table set age =19 where name= 'zhb'";  
  137.         String delete = "delete from name_table where name= 'csdn'";  
  138.   
  139.         if (h.insertSQL(insert) == true) {  
  140.             System.out.println("insert successfully");  
  141.             ResultSet resultSet = h.selectSQL(s);  
  142.             h.layoutStyle2(resultSet);  
  143.         }  
  144.         if (h.updateSQL(update) == true) {  
  145.             System.out.println("update successfully");  
  146.             ResultSet resultSet = h.selectSQL(s);     
  147.             h.layoutStyle2(resultSet);  
  148.         }  
  149.         if (h.insertSQL(delete) == true) {  
  150.             System.out.println("delete successfully");  
  151.             ResultSet resultSet = h.selectSQL(s);  
  152.             h.layoutStyle2(resultSet);  
  153.         }  
  154.         h.deconnSQL();  
  155.     }  
  156. }  


 

整个项目的源代码:http://download.csdn.net/detail/nuptboyzhb/4620059
4.实验结果

[image]


 
 
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
3月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
134 13
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
1047 11
|
3月前
|
SQL 关系型数据库 MySQL
排除通过IP访问MySQL时出现的连接错误问题
以上步骤涵盖了大多数遇到远程连接 MySQL 数据库时出现故障情形下所需采取措施,在执行每个步骤后都应该重新尝试建立链接以验证是否已经解决问题,在多数情形下按照以上顺序执行将能够有效地排除并修复大多数基本链接相关故障。
350 3
|
3月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
376 11
|
4月前
|
存储 关系型数据库 MySQL
修复.net Framework4.x连接MYSQL时遇到utf8mb3字符集不支持错误方案。
通过上述步骤大多数情况下能够解决由于UTF-encoding相关错误所带来影响,在实施过程当中要注意备份重要信息以防止意外发生造成无法挽回损失,并且逐一排查确认具体原因以采取针对性措施解除障碍。
262 12
|
5月前
|
人工智能 Java 关系型数据库
Java的时间处理与Mysql的时间查询
本文总结了Java中时间与日历的常用操作,包括时间的转换、格式化、日期加减及比较,并介绍了MySQL中按天、周、月、季度和年进行时间范围查询的方法,适用于日常开发中的时间处理需求。
101 0
|
5月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
450 0

热门文章

最新文章

推荐镜像

更多